--- /dev/null
+/*\r
+ * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.\r
+ *\r
+ * This program and the accompanying materials are made available under the\r
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
+ * and is available at http://www.eclipse.org/legal/epl-v10.html\r
+ */\r
+package org.opendaylight.controller.yang.data.impl;\r
+\r
+import java.net.URI;\r
+import java.util.Date;\r
+\r
+import org.junit.Assert;\r
+import org.junit.Before;\r
+import org.junit.Test;\r
+import org.opendaylight.controller.yang.common.QName;\r
+import org.opendaylight.controller.yang.data.api.CompositeNode;\r
+import org.opendaylight.controller.yang.data.api.MutableCompositeNode;\r
+import org.opendaylight.controller.yang.data.api.Node;\r
+\r
+/**\r
+ * @author michal.rehak\r
+ *\r
+ */\r
+public class LazyNodeToNodeMapTest {\r
+ \r
+ private LazyNodeToNodeMap lazyN2N;\r
+ private CompositeNode tree;\r
+\r
+ /**\r
+ * prepare test values\r
+ * @throws Exception \r
+ */\r
+ @Before\r
+ public void setUp() throws Exception {\r
+ lazyN2N = new LazyNodeToNodeMap();\r
+ \r
+ QName qName = new QName(\r
+ new URI("urn:ietf:params:xml:ns:netconf:base:1.0"), \r
+ new Date(42), "yang-data-impl-mutableTest");\r
+ \r
+ tree = NodeHelper.buildTestConfigTree(qName);\r
+ }\r
+\r
+ /**\r
+ * Test method for {@link org.opendaylight.controller.yang.data.impl.LazyNodeToNodeMap#getMutableEquivalent(org.opendaylight.controller.yang.data.api.Node)}.\r
+ */\r
+ @Test\r
+ public void testGetMutableEquivalent() {\r
+ MutableCompositeNode mutableTree = (MutableCompositeNode) lazyN2N.getMutableEquivalent(tree);\r
+ \r
+ Assert.assertNull(mutableTree.getParent());\r
+ Assert.assertEquals(tree.getNodeType(), mutableTree.getNodeType());\r
+ Assert.assertEquals(1, lazyN2N.getKeyNodes().size());\r
+ \r
+ Node<?> subNode = tree.getCompositesByName("topologies").iterator().next();\r
+ Node<?> subMutant = lazyN2N.getMutableEquivalent(subNode);\r
+ \r
+ Assert.assertNotNull(subMutant.getParent());\r
+ Assert.assertEquals(subNode.getNodeType(), subMutant.getNodeType());\r
+ Assert.assertEquals(2, lazyN2N.getKeyNodes().size());\r
+ \r
+ Assert.assertEquals(mutableTree, subMutant.getParent());\r
+ Assert.assertEquals(mutableTree.getChildren().size(), 1);\r
+ Assert.assertEquals(mutableTree.getChildren().iterator().next(), subMutant);\r
+ }\r
+\r
+ /**\r
+ * Test method for {@link org.opendaylight.controller.yang.data.impl.LazyNodeToNodeMap#getMutableRoot()}.\r
+ */\r
+ @Test\r
+ public void testGetMutableRoot() {\r
+ Node<?> subNode = tree.getCompositesByName("topologies").iterator().next();\r
+ Node<?> subMutant = lazyN2N.getMutableEquivalent(subNode);\r
+ \r
+ Assert.assertNotNull(subMutant.getParent());\r
+ Assert.assertEquals(subMutant.getParent(), lazyN2N.getMutableRoot());\r
+ }\r
+\r
+}\r