### Question:
CPrimitive extends CValue { @Override public boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; final CPrimitive that = (CPrimitive) o; if (value != null ? !value.equals(that.value) : that.value != null) return false; return true; } CPrimitive(String value); String value(); @Override Set<String> referencedKeys(); @Override void replace(String key, String resolvedValue); @Override String toString(); @Override boolean equals(final Object o); @Override int hashCode();  }### Answer:
@Test public void testEquals() throws Exception { assertEquals(new CPrimitive("1"), new CPrimitive("1")); }