X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fxmlrouter%2Fimpl%2FSingleRouterConfigTest.java;h=3df429315aeed8c33bf39eb6ab35078013126807;hb=f8027d76e1c3e517a8b80a3476f51adee845fc5b;hp=280e6dac420fb78b05b89a8c2f0ce6c1051bd0c3;hpb=e52385618670b54a5c6a4f2fbfab381bef43a905;p=xmlrouter diff --git a/impl/src/test/java/org/wamblee/xmlrouter/impl/SingleRouterConfigTest.java b/impl/src/test/java/org/wamblee/xmlrouter/impl/SingleRouterConfigTest.java index 280e6da..3df4293 100644 --- a/impl/src/test/java/org/wamblee/xmlrouter/impl/SingleRouterConfigTest.java +++ b/impl/src/test/java/org/wamblee/xmlrouter/impl/SingleRouterConfigTest.java @@ -33,6 +33,7 @@ public class SingleRouterConfigTest { @Before public void setUp() { config = new SingleRouterConfig(new Id("routerconfig")); + assertEquals("routerconfig", config.getId().getId()); } @Test @@ -40,13 +41,15 @@ public class SingleRouterConfigTest { DocumentType type1 = mock(DocumentType.class); when(type1.getId()).thenReturn(new Id("type1")); DocumentType type2 = mock(DocumentType.class); - when(type1.getId()).thenReturn(new Id("type2")); + when(type2.getId()).thenReturn(new Id("type2")); config.documentTypeConfig().add(type1); config.documentTypeConfig().add(type2); assertEquals(2, config.documentTypeConfig().values().size()); - assertTrue(config.documentTypeConfig().values().get(0) instanceof RobustDocumentType); + Object firstValue = config.documentTypeConfig().values().iterator() + .next(); + assertTrue(firstValue instanceof RobustDocumentType); } @Test @@ -54,14 +57,16 @@ public class SingleRouterConfigTest { Transformation transformation1 = mock(Transformation.class); when(transformation1.getId()).thenReturn(new Id("t1")); Transformation transformation2 = mock(Transformation.class); - when(transformation1.getId()).thenReturn(new Id("t2")); + when(transformation2.getId()).thenReturn(new Id("t2")); config.transformationConfig().add(transformation1); config.transformationConfig().add(transformation2); assertEquals(2, config.transformationConfig().values().size()); - assertTrue(config.transformationConfig().values().get(0) instanceof RobustTransformation); + Object firstValue = config.transformationConfig().values().iterator() + .next(); + assertTrue(firstValue instanceof RobustTransformation); } @Test @@ -69,13 +74,66 @@ public class SingleRouterConfigTest { Filter filter1 = mock(Filter.class); when(filter1.getId()).thenReturn(new Id("f1")); Filter filter2 = mock(Filter.class); - when(filter1.getId()).thenReturn(new Id("f2")); + when(filter2.getId()).thenReturn(new Id("f2")); config.filterConfig().add(filter1); config.filterConfig().add(filter2); assertEquals(2, config.filterConfig().values().size()); - assertTrue(config.filterConfig().values().get(0) instanceof RobustFilter); + Object firstValue = config.filterConfig().values().iterator().next(); + assertTrue(firstValue instanceof RobustFilter); + } + + @Test + public void testEqualityEmptyConfig() { + RouterConfig config1 = new SingleRouterConfig(new Id( + "routerconfig")); + RouterConfig config2 = new SingleRouterConfig(new Id( + "routerconfig")); + assertEquals(config1, config2); + } + + @Test + public void testEqualsNonEmpty() { + RouterConfig config1 = new SingleRouterConfig(new Id( + "routerconfig")); + + assertFalse(config1.equals(null)); + assertFalse(config.equals("hello")); + + RouterConfig config2 = new SingleRouterConfig(new Id( + "routerconfig")); + DocumentType type1 = mock(DocumentType.class); + when(type1.getId()).thenReturn(new Id("type1")); + DocumentType type2 = mock(DocumentType.class); + when(type2.getId()).thenReturn(new Id("type1")); + Filter filter1 = mock(Filter.class); + when(filter1.getId()).thenReturn(new Id("f1")); + Filter filter2 = mock(Filter.class); + when(filter2.getId()).thenReturn(new Id("f1")); + Transformation transformation1 = mock(Transformation.class); + when(transformation1.getId()).thenReturn(new Id("t1")); + Transformation transformation2 = mock(Transformation.class); + when(transformation2.getId()).thenReturn(new Id("t1")); + + config1.documentTypeConfig().add(type1); + assertFalse(config1.equals(config2)); + + config2.documentTypeConfig().add(type2); + assertEquals(config1, config2); + assertEquals(config1.hashCode(), config2.hashCode()); + + config1.transformationConfig().add(transformation1); + config2.transformationConfig().add(transformation2); + + assertEquals(config1, config2); + assertEquals(config1.hashCode(), config2.hashCode()); + + config1.filterConfig().add(filter1); + config2.filterConfig().add(filter2); + + assertEquals(config1, config2); + assertEquals(config1.hashCode(), config2.hashCode()); } }