ServiceDescription { @Override public boolean equals(final Object obj) { if (!(obj instanceof ServiceDescription)) { return false; } ServiceDescription other = (ServiceDescription) obj; if (this.identifier != null) { return this.identifier.equals(other.identifier); } return toXml().equals(other.toXml()); } protected  ServiceDescription(final Builder builder); private  ServiceDescription(); static ServiceDescription.Builder create(final String name,
            final String type); static ServiceDescription.Builder copy(
            final ServiceDescription serviceDescription); @Queryable String getName(); @Queryable String getClassname(); @Queryable String getType(); @Queryable URL getEndpoint(); @Queryable List<Parameter> getParameters(); @Queryable Tool getTool(); @Queryable String getDescription(); @Queryable String getVersion(); @Queryable String getAuthor(); @Queryable String getServiceProvider(); @Queryable String getInstructions(); @Queryable URI getFurtherInfo(); @Queryable URI getLogo(); @Queryable String getIdentifier(); @Queryable List<MigrationPath> getPaths(); @Queryable List<URI> getInputFormats(); @Queryable List<Property> getProperties(); @Override int hashCode(); @Override boolean equals(final Object obj); static ServiceDescription of(final String xml); String toXml(); String toXmlFormatted(); @Override String toString(); static void main(final String[] args); static final URI PROPERTY; static final String AUTHORIZED_ROLES; }
@Test public void equalsCornerCases() { Assert.assertFalse(sd.equals("Some string")); Assert.assertFalse(sd.equals(1)); Assert.assertFalse(sd.equals(null)); }