*
* @throws Exception for any problem
*/
public void testEquals() throws Exception
{
CompositeMetaType compositeType = initCompositeMetaType();;
assertTrue("null is not equal composite type", compositeType.equals(null) == false);
assertTrue("object is not equal composite type", compositeType.equals(new Object()) == false);
CompositeMetaType compositeType2 = initCompositeMetaType();
assertTrue("compositeType2 should be equal composite type, even though not the same object instance",
compositeType.equals(compositeType2));
assertTrue("compositeType2 should be equal composite type, even though not the same object instance",
compositeType2.equals(compositeType));
compositeType2 = initCompositeMetaTypeDifferentItemTypes();
assertTrue("compositeType2 should not be equal composite type, it has different types",
compositeType.equals(compositeType2) == false);
assertTrue("compositeType2 should not be equal composite type, it has different types",
compositeType2.equals(compositeType) == false);
compositeType2 = initCompositeMetaTypeDifferentTypeName();
assertTrue("compositeType2 should not be equal composite type, it has a different type name",
compositeType.equals(compositeType2) == false);
assertTrue("compositeType2 should not be equal composite type, it has a different type name",
compositeType2.equals(compositeType) == false);
compositeType2 = initCompositeMetaTypeDifferentItemNames();
assertTrue("compositeType2 should not be equal composite type, it has different item names",
compositeType.equals(compositeType2) == false);
assertTrue("compositeType2 should not be equal composite type, it has different item names",
compositeType2.equals(compositeType) == false);
}