This would be much better as individual tests that test the individual cases. You're not really saving any code by squashing them in to a single test with a big loop, but you are making it difficult to re-run specific tests and you're adding cognitive overhead to anyone who wants to scan through this code looking for `test` methods.

Writing a test helper that you just pass this title/start/end/expected data to would be quite a reasonable way to write these, though, and you're only a small refactor from that.