TestConfiguration -> ExampleGateway
ExampleGateway.getContextRoot to be a bit more general-purpose than assuming a top-level class that has no children.
JavaSpecRunner starting to describe nested contexts.
Refactoring
Making sure it really works for any number of levels; there wasn't anything driving the recursive nature of the algorithm before.
Consolidating contexts
Should have kept TestConfiguration as its own interface while refactoring; doing so now.
For a context to be a class with annotations is pretty specific to JUnit.
Future syntax may not be based upon classes, and it turns out JUnit supports this.
Refactored to use ExampleGateway
Refactored stubs to use Mockito
JavaSpecRunner(Class<?>)
Keeping ContextClassTestConfiguration and ClassExampleGateway separate; TestConfiguration is being ported over to ExampleGateway
ClassExampleGateway.findInitializationErrors
Don't need a full List when declaring children, since this will be making a defensive copy into its own list anyway.
Mapping inner classes containing at least 1 It field to Context.
Pruning empty, non-root contexts to avoid confusion with inner helper classes that aren't intended as test contexts.
Refactoring