CsCheck
CsCheck copied to clipboard
SampleConcurrent add ability to use a model
I've realised why John Hughes has a model for parallel testing. If the actual is very time or resource consuming this could mean the linearization check will be slow. Think of his examples of dropbox and a payments database.
This will need to be a major version release but steps are:
- [x] Refactor
GenOperation<Actual, Model>
to have 2 func one for actual and one for model. - [x] Make MAX_CONCURRENT_OPERATIONS a parameter with a default of 5, add similar for serial operations.
- [x] Number of concurrent operations should be [2, MAX_CONCURRENT_OPERATIONS].
- [x] Consider renaming to SampleParallel (though wouldn't want to rename SampleModelBased to SampleStateful).
- [x] Consider running some serial operations before the parallel ones for both with and without model.
- [x] Add overrides to SampleConncurrent to use
GenOperation<Actual, Model>
and linearize the model only. - [x] Add tests for the new SampleParallel.