I'm testing that a function does what expected on a list. So I want to test
f(null) -> null
f(empty) -> empty
f(list with one element) -> list with one element
f(list with 2+ elements) -> list with the same number of elements, doing what expected
In order to do so, What is the best approach?
- Testing all the cases in the same (method) test, under the name "WorksAsExpected"
- Placing one test for each case, thus having
- "WorksAsExpectedWhenNull"
- "WorksAsExpectedWhenEmpty"
- "WorksAsExpectedWhenSingleElement"
- "WorksAsExpectedWhenMoreElements"
- Another choice I wasn't thinking of :-)