What is this "Given()/When()/Then()" stuff?
The way my unit testing library, UnitTest11, handles tests. Instead of using the SetUp/Test/TearDown of the xUnit family of libraries it uses Given/When/Then/Finally. It more closely matches the way people often write unit tests: Arrange/Act/Assert/TearDown. The functions take a describing string and lambdas, which are the actual test logic.
When a fixture is ran, it builds up from the given/when/thens such that if you do
Given X
When U
Then A
Then B
When T
Then C
Finally O
Then the fixture will actually run as:
Given X When U Then A Finally O
Given X When U Then B Finally O
Given X When T Then C Finally O