Split lifecycle tests into one test class per level of behavior: Construct/Dispose, per-class wrapping, per-instance wrapping, per-case wrapping.
Split LifecycleTests and its subclasses into separate files.
Rename ConstructDisposeLifecycleTests to ConstructionTests.
Promote DisposalTests to the new LifecycleTests style, improving code coverage for disposal frequency matching construction frequency.
Drop Fixie.Tests.TestClasses.ConstructionTests tests which are made redundant by the new Fixie.Tests.Lifecycle.ConstructionTests.
Drop LifecycleHookTests that are made redundant by the new LifecycleTests.
Move remaining Fixie.Tests.TestClasses.ConstructionTests into CaseTests.
Lifecycle tests demonstrate execution when a custom behavior fails to (or chooses to) invoke the innerBehavior() continuation.
Promote last remaining test from deprecated LifecycleHookTests to a LifecycleTests subclass devoted to complex lifecycles in which all levels of hooks are in play.
Update README.md
Update README.md
Update README.md
Improve naming of test cases within ConstructionTests.
Improve ClassLifecycleTests' coverage by performing each scenario for construction-per-class as well as for construction-per-case.
Improve InstanceLifecycleTests' coverage by performing each scenario for construction-per-class as well as construction-per-case.
Improve CaseLifecycleTests' coverage by performing each scenario for construction-per-class as well as construction-per-case.
Improve test method naming to better distinguish between similar scenarios.
Rename test methods to correctly refer to the 'TypeBehavior' builder being tested.
ComplexLifecycleTests demonstrate that when failures take place at multiple levels of teardown (case tear down, instance tear down, Dispose, type tear down), ALL of the teardown exceptions are included in the test result as the reasons the test failed.
CaseLifecycleTests, ClassLifecycleTests, InstanceLifecycleTests use common helper methods for setups and teardowns.