adding missing hashcode/equals implementation and missing @Test