Client implements JsonSerializable { private Client(Builder builder) { this.data = unmodifiableMap(new HashMap<>(builder.data)); this.topLevelData = unmodifiableMap(new HashMap<>(builder.topLevelData)); } private  Client(Builder builder); Map<String, Map<String, Object>> getData(); Map<String, Object> getTopLevelData(); @Override Map<String, Object> asJson(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }
@Test public void shouldBeEqual() { Client client1 = client(); Client client2 = client(); assertThat(client2, is(client1)); }