assertThat(rule.getKey(obj(1, "a")), equalTo(rule.getKey(obj(1, "a"))));
assertThat(rule.getKey(obj(2, "b")), equalTo(rule.getKey(obj(2, "b"))));
assertThat(rule.getKey(obj(1, "a")), not(equalTo(rule.getKey(obj(2, "a")))));
assertThat(rule.getKey(obj(1, "a")), not(equalTo(rule.getKey(obj(1, "b")))));
assertThat(rule.verify(obj(1, "a"), obj(1, "a")), is(nullValue()));
assertThat(rule.verify(obj(1, "a"), obj(2, "b")), is(nullValue()));
assertThat(rule.verify(null, obj(1, "a")), not(nullValue()));
assertThat(rule.verify(obj(1, "a"), null), not(nullValue()));
}