@Test
	public void orderingGuarantees()
	throws Exception {
		
		for( String outer: GOODIBANS ) {
			
			for( String inner: GOODIBANS ) {
				
				final IBAN o = IBAN.valueOf(outer);
				final IBAN i = IBAN.valueOf(inner);
				final int d1 = compare(o, i);
				final int d2 = compare(o.toString(), i.toString());
				
				assertEquals(d1, d2);
				assertTrue(d1 != 0 || o.equals(i) && i.equals(o));
				assertTrue(d1 == 0 || !o.equals(i) && !i.equals(o));
				assertTrue(!o.equals(i) || o.hashCode() == i.hashCode());
			}
		}
	}