added copying of SingleRouterConfig.
[xmlrouter] / impl / src / test / java / org / wamblee / xmlrouter / impl / SingleRouterConfigTest.java
index 3df429315aeed8c33bf39eb6ab35078013126807..5f151d29536fd0a4a89874403d99d11be466161a 100644 (file)
@@ -28,7 +28,7 @@ import org.wamblee.xmlrouter.config.Transformation;
 
 public class SingleRouterConfigTest {
 
-    private ExtendedRouterConfig config;
+    private SingleRouterConfig config;
 
     @Before
     public void setUp() {
@@ -136,4 +136,25 @@ public class SingleRouterConfigTest {
         assertEquals(config1, config2);
         assertEquals(config1.hashCode(), config2.hashCode());
     }
+
+    @Test
+    public void testCopy() {
+        testDocumentType();
+        testFilter();
+        testTransformation();
+
+        SingleRouterConfig copy = new SingleRouterConfig(config);
+        assertEquals(config.getId(), copy.getId());
+        assertEquals(config, copy);
+
+        // verify the copy is not shallow.
+
+        config.documentTypeConfig().remove(new Id<DocumentType>("type1"));
+        config.transformationConfig().remove(new Id<Transformation>("t1"));
+        config.filterConfig().remove(new Id<Filter>("f1"));
+        assertEquals(1, config.documentTypeConfig().values().size());
+        assertEquals(1, config.transformationConfig().values().size());
+        assertEquals(1, config.filterConfig().values().size());
+        assertFalse(config.equals(copy));
+    }
 }