this should be its own test. If it fails, it's more useful to get that "test_start_and_end_defined" failed vs something in this giant test. The general rule of thumb is that each test should test one single thing. 

You can pull out the factory code into a helper method that's shared among all the different tests.