### Question:
AttributeValueItem extends ProtectedItem { @Override public boolean equals( Object o ) { if ( this == o ) { return true; } if ( o instanceof AttributeValueItem ) { AttributeValueItem that = ( AttributeValueItem ) o; if ( attributes != null ) { if ( ( that.attributes == null ) || ( that.attributes.size() != attributes.size() ) ) { return false; } for ( Attribute attribute : attributes ) { if ( !that.attributes.contains( attribute ) ) { return false; } } return true; } else { return attributes == null; } } return false; } AttributeValueItem( Set<Attribute> attributes ); Iterator<Attribute> iterator(); @Override int hashCode(); @Override boolean equals( Object o ); @Override String toString();  }### Answer:
@Test public void testEqualsNotInstanceOf() throws Exception { assertFalse( attributeValueItemA.equals( UndefinedNode.UNDEFINED_NODE ) ); }
@Test public void testEqualsNull() throws Exception { assertFalse( attributeValueItemA.equals( null ) ); }
@Test public void testNotEqualDiffValue() throws Exception { assertFalse( attributeValueItemA.equals( attributeValueItemC ) ); assertFalse( attributeValueItemC.equals( attributeValueItemA ) ); assertFalse( attributeValueItemA.equals( attributeValueItemD ) ); assertFalse( attributeValueItemD.equals( attributeValueItemA ) ); }