When you abstract away test code, you are abstracting code written to test a software application's design, and thus your abstractions (and test data) necessarily mirror your application design.
This is why I commented elsewhere that DRY should be applied not as a coding principle to all code, but as a design principle to software design.
This is why I commented elsewhere that DRY should be applied not as a coding principle to all code, but as a design principle to software design.