Test clean-up

Using composition instead of inheritance  to validate and assert semantic data in tests.