X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fxmlrouter%2Fimpl%2FConfigImplTest.java;fp=impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fxmlrouter%2Fimpl%2FConfigImplTest.java;h=8ebdb9f4aa16c2246dc5ff50b494239fab9dc1c8;hb=f8027d76e1c3e517a8b80a3476f51adee845fc5b;hp=044cb1f32f9240a00da2a2347d7e518ae13015df;hpb=ef3c789029b09fe8bc279a07a7b2208e286957f0;p=xmlrouter diff --git a/impl/src/test/java/org/wamblee/xmlrouter/impl/ConfigImplTest.java b/impl/src/test/java/org/wamblee/xmlrouter/impl/ConfigImplTest.java index 044cb1f..8ebdb9f 100644 --- a/impl/src/test/java/org/wamblee/xmlrouter/impl/ConfigImplTest.java +++ b/impl/src/test/java/org/wamblee/xmlrouter/impl/ConfigImplTest.java @@ -75,10 +75,12 @@ public class ConfigImplTest { config.add(type1); assertEquals(1, config.values().size()); - assertTrue(config.values().get(0) instanceof MyTypeWrapper); - assertSame(type1, ((MyTypeWrapper) config.values().get(0)).getType()); - assertEquals(CONFIG_TYPE + "." + type1.getId().getId(), config.values() - .get(0).getId().getId()); + MyType firstValue = config.values().iterator().next(); + + assertTrue(firstValue instanceof MyTypeWrapper); + assertSame(type1, ((MyTypeWrapper) firstValue).getType()); + assertEquals(CONFIG_TYPE + "." + type1.getId().getId(), firstValue + .getId().getId()); // add another one. MyType type2 = mock(MyType.class); @@ -97,7 +99,7 @@ public class ConfigImplTest { assertEquals(1, config.values().size()); - assertTrue(config.remove(new Id(CONFIG_TYPE + "." + "type1"))); + assertTrue(config.remove(new Id("type1"))); assertTrue(config.values().isEmpty()); } @@ -105,4 +107,43 @@ public class ConfigImplTest { public void testUnmodifiable() { config.values().add(mock(MyType.class)); } + + @Test + public void testEquals() { + + Config config1 = new ConfigImpl(new Id( + CONFIG_TYPE)) { + @Override + public MyType wrap(String aPrefix, MyType aT) { + return new MyTypeWrapper(aPrefix, aT); + } + }; + assertFalse(config1.equals(null)); + assertFalse(config1.equals("hello")); + Config config2 = new ConfigImpl(new Id( + CONFIG_TYPE)) { + @Override + public MyType wrap(String aPrefix, MyType aT) { + return new MyTypeWrapper(aPrefix, aT); + } + }; + assertEquals(config1, config2); + assertEquals(config1.hashCode(), config2.hashCode()); + + MyType type1 = mock(MyType.class); + when(type1.getId()).thenReturn(new Id("type1")); + + config1.add(type1); + assertFalse(config1.equals(config2)); + + MyType type2 = mock(MyType.class); + when(type2.getId()).thenReturn(new Id("type1")); + + config2.add(type2); + assertEquals(config1, config2); + assertEquals(config1.hashCode(), config2.hashCode()); + + assertTrue(config2.remove(type2.getId())); + assertFalse(config1.equals(config2)); + } }