As you're writing tests for the normal conditions, it might be good to codify your assumptions about how the objects handle the edge cases, which are often called FencePost or OffByOne (Obi-Wan) errors. '''General Boundary Conditions''': * Uninitialised -- (Language/compiler dependent: 0, NULL or random value.) How does the code behave when it gets a null value instead of a real object? Does it segfault? Throw an exception? Return an object after the NullObject pattern? '''Collection Boundary Conditions''': * Collections include arrays, linked-lists, SQL R''''''esultSets, the "Game" class in the ObjectMentorBowlingGame. Here are five specific conditions to test when developing such a class: ** Empty ** Minimum ** Maximum ** Minimum - 1 -- invalid index just below the expected range of values ** Maximum + 1 -- invalid index just above the expected range of values ---- CategoryTesting