### Question:
SparqlThingQuery implements ThingQuery { @Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } SparqlThingQuery that = (SparqlThingQuery) o; return Objects.equals(query, that.query); } SparqlThingQuery(String query);   SparqlThingQuery(); @Override List<Thing> filter(Collection<Thing> things); String getQuery(); @Override int hashCode(); @Override boolean equals(Object o); @Override String toString();  }### Answer:
@Test public void testEquals() throws ThingQueryException { SparqlThingQuery queryA = new SparqlThingQuery("?x <http: SparqlThingQuery queryB = new SparqlThingQuery("?x <http: SparqlThingQuery queryC = new SparqlThingQuery("?s ?p ?o ."); assertEquals(queryA, queryB); assertEquals(queryB, queryA); assertNotEquals(queryA, queryC); assertNotEquals(queryC, queryA); }