### Question:
Import extends NamedElement { @Override public int hashCode() { return HashUtil.combineHashCodes(id != null ? id.hashCode() : 0, description != null ? description.hashCode() : 0, name != null ? name.hashCode() : 0, namespace != null ? namespace.hashCode() : 0, locationURI != null ? locationURI.hashCode() : 0, importType != null ? importType.hashCode() : 0); } Import();  Import(final String namespace,
                  final LocationURI locationURI,
                  final String importType); String getNamespace(); void setNamespace(final String namespace); LocationURI getLocationURI(); void setLocationURI(final LocationURI locationURI); String getImportType(); void setImportType(final String importType); @Override boolean equals(final Object o); @Override int hashCode();  }### Answer:
@Test public void testHashCodeWithTheSameId() { import1.setId(new Id("123")); import2.setId(new Id("123")); assertEquals(import1.hashCode(), import2.hashCode()); }
@Test public void testHashCodeWithTheADifferentId() { import1.setId(new Id("123")); import2.setId(new Id("456")); assertNotEquals(import1.hashCode(), import2.hashCode()); }
@Test public void testHashCodeWithTheSameName() { import1.setName(new Name("123")); import2.setName(new Name("123")); assertEquals(import1.hashCode(), import2.hashCode()); }
@Test public void testHashCodeWithTheADifferentName() { import1.setName(new Name("123")); import2.setName(new Name("456")); assertNotEquals(import1.hashCode(), import2.hashCode()); }
@Test public void testHashCodeWithTheSameDescription() { import1.setDescription(new Description("desc")); import2.setDescription(new Description("desc")); assertEquals(import1.hashCode(), import2.hashCode()); }
@Test public void testHashCodeWithTheADifferentDescription() { import1.setDescription(new Description("desc1")); import2.setDescription(new Description("desc2")); assertNotEquals(import1.hashCode(), import2.hashCode()); }