Refactored the test cases such that foreach is used in cases where matchers are a side effect. Removed some boilerplate, but there's still more work to be done on the boilerplate front :P