After some discussion with Robert and bug 658044, I think I can make this converge a bit more with what's already done in testscenarios:
* name the attribute 'scenarios'
* make it an iterable of scenarios directly, rather than a list of TestVariations to multiply
* generate the cross product by calling a function rather than implicitly; to work well with scenario generators that come from registries this function should be quite lazy
* change the variations to generators or functions rather than classes
Also stylistically
* clearer tests
* remove extra VWS
* module docstring
After some discussion with Robert and bug 658044, I think I can make this converge a bit more with what's already done in testscenarios:
* name the attribute 'scenarios'
* make it an iterable of scenarios directly, rather than a list of TestVariations to multiply
* generate the cross product by calling a function rather than implicitly; to work well with scenario generators that come from registries this function should be quite lazy
* change the variations to generators or functions rather than classes
Also stylistically
* clearer tests
* remove extra VWS
* module docstring