Comments (5)
How fleshed-out does this need to be, and which stuff do I need to have tests for, by the end of GSoC? E.g., do I need to write tests for the Piece startup process as a whole? for parsing Designs? for any multi-Piece interactions?
from ecell.
Celluloid
convention is TDD
so there is a tacit expectation that there be tests for everything.
You seemed shocked by this. At the very least, all the tests need to be setup, but kept pending
or xit
or equivalent. This is an unfortunate compromise.
Ideally, all tests for all objects and all processes would be in the repository before code was originated/migrated. So after the outline of bypassed tests are done, and all the other items on your roadmap, complete as many tests as you can ( and then do more ).
from ecell.
Stuff to test:
- Color
- Wrote some tests already
- Line
- Wrote some tests already
- Spool (if we're even keeping Spool around)
- TODO
- Frame
- Provisioning
- Event publishing
- Startup and shutdown
- Logger (module in
Internals
)- Difficult to test because so much stuff calls into it. It's hard to isolate.
- Figure
- Face initialization
- Line initialization
- Event handling
- Management
- Manage
- Can issue instructions and wait for replies
- Leader automaton functions correctly
- Cooperate
- Executes instructions and replies
- Follower automaton functions correctly
- Administrate
- I'm not personally clear on what this is supposed to do, once implemented.
- Manage
- Awareness
- Notice
- Reports
- Announce
- Heartbeats and presences
- Notice
- Vitality
- Correctly handles an attaching follower
- Sends out pings
- Correctly handles a follower dying
- Utility methods work as expected
- Logging (shape in
Base
)- Run under an ID other than
:logging
so that it doesn't get logged to by normal code. - Collate
- Prints logs
- Document
- Sends logs
- Relay
- Relays logs
- Run under an ID other than
- Calling
- Answer
- Answers calls
- Switch
- Switches calls
- Call
- Places calls
- Answer
- Distribution
- Distribute
- Distributes (and collects?) tasks
- Process
- Pulls tasks
- Reports results
- Distribute
- Certain Figure interactions - need to work this out.
- TODO
Do we need tests for the Sketches from Ef? They don't seem to be core ECell functionality.
from ecell.
@digitalextremist Just how skeletal can I get away with this being?
from ecell.
OK, I've added it
clauses for each of the behaviors outlined above. How much do i need to fill them in with?
from ecell.
Related Issues (20)
- Is this a thing? HOT 8
- Documentation HOT 7
- Multi-machine Demonstration HOT 3
- Single-machine Demonstration HOT 1
- Reel-piece implementation. HOT 3
- Get rid of ECell::Internals::Conduit
- Encapsulate response-waiting-and-matching logic
- Move Line specifications from Designs to Shapes
- Get rid of Stroke autoloading
- Spin-off the current webstack sketch as webstack-puma.
- Split Coordinator into Distribute and Collect HOT 5
- Formally clear asset and Sketches. HOT 1
- Should I migrate the Admin role? HOT 4
- Hostmaster piece, implementing Admin design.
- Eventually rework how Designs are specified HOT 3
- Leader doesn't reattach to restarted pieces HOT 3
- Composable Designs HOT 2
- Update citation HOT 5
- License HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ecell.