### Question:
BindingProperty implements Comparable<BindingProperty> { @Override public boolean equals( final Object o ) { if ( this == o ) { return true; } else if ( o == null || getClass() != o.getClass() ) { return false; } else { final BindingProperty that = (BindingProperty) o; return _name.equals( that._name ) && _value.equals( that._value ); } } BindingProperty( @Nonnull final String name, @Nonnull final String value ); @Nonnull String getName(); @Nonnull String getValue(); @Nonnull String[] getComponents(); boolean matches( @Nonnull final String value ); @Override int compareTo( @Nonnull final BindingProperty that ); @Override boolean equals( final Object o ); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void equals() { final String key = "MyKey"; final String value = "MyValue"; final BindingProperty property1 = new BindingProperty( key, value ); final BindingProperty property2 = new BindingProperty( key, value ); final BindingProperty property3 = new BindingProperty( key, value + "X" ); final BindingProperty property4 = new BindingProperty( key + "X", value ); assertTrue( property1.equals( property1 ) ); assertTrue( property1.equals( property2 ) ); assertFalse( property1.equals( property3 ) ); assertFalse( property1.equals( property4 ) ); }