@Test
public void compare() {

	AttributeComparator comp = new AttributeComparator();
	
	for(int i=5; i<50; ++i) {
		String name1 = randomString();
		String name2 = randomString();
		String msg = "("+name1+"<=>"+name2+")";    //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
		int cmpResult = name1.compareTo(name2);
		
		Attribute attr1 = new AttributeImpl(name1,1);
		Attribute attr2 = new AttributeImpl(name2,1);
		Attribute attr3 = new AttributeImpl(name1,1);
		Attribute attr4 = new AttributeImpl(name1,2);
		
		assertEquals(0,comp.compare(attr1, attr1), msg);
		assertEquals(cmpResult,comp.compare(attr1, attr2), msg);
		assertEquals(0,comp.compare(attr1, attr3), msg);
		assertStrictlyNegative(comp.compare(attr1, attr4), msg);
		
		assertEquals(-cmpResult,comp.compare(attr2, attr1), msg);
		assertEquals(0,comp.compare(attr2, attr2), msg);
		assertEquals(-cmpResult,comp.compare(attr2, attr3), msg);
		assertEquals(-cmpResult,comp.compare(attr2, attr4), msg);
		assertEquals(0,comp.compare(attr3, attr1), msg);
		assertEquals(cmpResult,comp.compare(attr3, attr2), msg);
		assertEquals(0,comp.compare(attr3, attr3), msg);
		assertStrictlyNegative(comp.compare(attr3, attr4), msg);
		assertStrictlyPositive(comp.compare(attr4, attr1), msg);
		assertEquals(cmpResult,comp.compare(attr4, attr2), msg);
		assertStrictlyPositive(comp.compare(attr4, attr3), msg);
		assertEquals(0,comp.compare(attr4, attr4), msg);
	}
}