/** Equality based on ws/layer/mode only */ @Override public boolean equals(Object obj) { if (!(obj instanceof DataAccessRule)) return false; return 0 == compareTo((DataAccessRule) obj); }
/** Full equality, roles included */ public boolean equalsExact(DataAccessRule obj) { if (0 != compareTo(obj)) return false; else return roles.equals(obj.roles); }
expect(dataAccessRule.compareTo(dataAccessRule)).andReturn(0).anyTimes(); expect(dataAccessRule.getKey()).andReturn("foo").anyTimes(); expect(dataAccessRule.getRoles())
@Test public void testDifferentRoot() { DataAccessRule rule1 = new DataAccessRule("*", "*", AccessMode.READ); DataAccessRule rule2 = new DataAccessRule("*", "*", AccessMode.WRITE); assertEquals(-1, rule1.compareTo(rule2)); assertFalse(rule1.equals(rule2)); }
@Test public void testDifferenPath() { DataAccessRule rule1 = new DataAccessRule("topp", "layer1", AccessMode.READ); DataAccessRule rule2 = new DataAccessRule("topp", "layer2", AccessMode.READ); assertEquals(-1, rule1.compareTo(rule2)); assertFalse(rule1.equals(rule2)); } }
@Test public void testEqualRoot() { DataAccessRule rule1 = new DataAccessRule("*", "*", AccessMode.READ); DataAccessRule rule2 = new DataAccessRule("*", "*", AccessMode.READ); assertEquals(0, rule1.compareTo(rule2)); assertEquals(rule1, rule2); assertEquals(rule1.hashCode(), rule2.hashCode()); }