rethink unit test style to remove duplication

related to this, and making it easy to write unit tests, I suggest we tackle: