### Question:
DataTypeStackHash { public String calculateHash(final DataType dataType) { return calculateHash(dataType, dataType.getName()); } @Inject  DataTypeStackHash(final DataTypeStore dataTypeStore); String calculateHash(final DataType dataType); String calculateParentHash(final DataType reference);  }### Answer:
@Test public void testCalculateHash() { assertEquals("tCity", dataTypeStackHash.calculateHash(tCity)); assertEquals("tCity.id", dataTypeStackHash.calculateHash(tCityId)); assertEquals("tCity.name", dataTypeStackHash.calculateHash(tCityName)); assertEquals("tPerson", dataTypeStackHash.calculateHash(tPerson)); assertEquals("tPerson.id", dataTypeStackHash.calculateHash(tPersonId)); assertEquals("tPerson.name", dataTypeStackHash.calculateHash(tPersonName)); assertEquals("tPerson.city", dataTypeStackHash.calculateHash(tPersonCity)); assertEquals("tPerson.city.id", dataTypeStackHash.calculateHash(tPersonCityId)); assertEquals("tPerson.city.name", dataTypeStackHash.calculateHash(tPersonCityName)); }