https://github.com/brucou/suspense-fsm
https://github.com/brucou/suspense-fsm
Last synced: 7 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/brucou/suspense-fsm
- Owner: brucou
- License: mit
- Created: 2019-06-26T13:59:54.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-07-10T05:48:27.000Z (over 6 years ago)
- Last Synced: 2024-04-24T22:01:13.484Z (over 1 year ago)
- Language: JavaScript
- Size: 43.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Testing
We will mix control and data flow in our test sequences.## Main paths
### Control Flow
1. Start -> Spinning -> Ready
2. Start -> Spinning -> Error
3. Start -> Error
4. Start -> Ready### Data Flow
- run operation (none | some) x timeout (any | default)
- ready (no data | data)
- error (no data | data)## Auto-generated *interesting* sequences
TODO: because of some generator runtime error(?)## Auto-generated random sequences
RegExp: `[START | TIMER_EXPIRED | SUCCEEDED | ERROR ]+`## Oracle
1. Start -> Spinning -> Ready
- No run:
- emit timer | render fallback | render main
- run:
- run task | emit timer | render fallback | render main
2. Start -> Spinning -> Error
- No run:
- emit timer | render fallback | render error
- run:
- run task | emit timer | render fallback | render error
3. Start -> Ready
- No run:
- emit timer | render main
- run:
- run task | emit timer | render main
4. Start -> Error
- No run:
- emit timer | render main
- run:
- run task | emit timer | render main## Properties
Abstracting null commands:
- emit timer is always there
- run task command is always before emit timer when present
- render main is last when present
- render error is last when present
- the render fallback command when present is always immediately after emit timer