separated the testing functionality into its base and derived parts, making derived parts generic enough to be initialized the the testing function
added testing structure for repositories as the first example of how translation should happen. It needs more fleshing out however. tag: squash.