Feels like this should be multiple tests, with shared setup code in a helper method (or `setUp`, as appropriate).