### Question:
Specification { public boolean isSame(Specification other) { return this == other || (other != null && _name.equalsIgnoreCase(other._name)); } Specification(String fullName); String getName(); int getVersion(); String getMinorVersion(); String getDescription(); Specification setDescription(String description); @Override boolean equals(Object other); boolean isSame(Specification other); boolean isSame(String other); int compareVersion(Specification other); @Override String toString(); void setCompatibility(Compatibility compatibility); Compatibility getCompatibility();  }### Answer:
@Test public void testEqualityByName() { Specification spec1 = new Specification("JPA 2.3"); Specification spec2 = new Specification("JPA 1.0"); Specification spec3 = new Specification("JDO 3.1"); assertTrue(spec1.isSame(spec2)); assertTrue(spec1.isSame("jpa")); assertTrue(spec1.isSame("JPA")); assertFalse(spec1.isSame(spec3)); }