+ /**\r
+ * Test method for\r
+ * {@link org.opendaylight.controller.yang.data.impl.NodeModificationBuilderImpl#getMutableEquivalent(org.opendaylight.controller.yang.data.api.Node)}\r
+ * .\r
+ */\r
+ @Test\r
+ public void testGetMutableEquivalent() {\r
+ MutableCompositeNode rootMutable = (MutableCompositeNode) \r
+ nodeModificationBuilder.getMutableEquivalent(network);\r
+ \r
+ CompositeNode topologies = network.getCompositesByName("topologies").iterator().next();\r
+ Node<?> mutableEquivalent = nodeModificationBuilder.getMutableEquivalent(topologies);\r
+ CompositeNode topologiesMutable = rootMutable.getCompositesByName("topologies").iterator().next();\r
+ \r
+ Assert.assertSame(topologiesMutable, mutableEquivalent);\r
+ }\r
+\r
+ /**\r
+ * Test method for\r
+ * {@link org.opendaylight.controller.yang.data.impl.NodeModificationBuilderImpl#buildDiffTree()}\r
+ * .\r
+ * @throws Exception \r
+ */\r
+ @Test\r
+ public void testBuildDiffTreeAddSimple() throws Exception {\r
+ LOG.debug("testBuildDiffTreeAddSimple");\r
+ Document networkShadow = NodeUtils.buildShadowDomTree(network);\r
+ CompositeNode needle = NodeUtils.findNodeByXpath(networkShadow, \r
+ NodeHelper.AddNamespaceToPattern(\r
+ "//{0}node[{0}node-id='nodeId_19']//{0}termination-point[2]", ns));\r
+ \r
+ MutableCompositeNode mutableParent = (MutableCompositeNode) \r
+ nodeModificationBuilder.getMutableEquivalent(needle);\r
+ \r
+ MutableSimpleNode<String> newMutable = NodeFactory.createMutableSimpleNode(\r
+ new QName(needle.getNodeType(), "anySubNode"), mutableParent, "42", null, null);\r
+ \r
+ nodeModificationBuilder.addNode(newMutable);\r
+ dumpResult();\r
+ }\r
+ \r
+ /**\r
+ * Test method for\r
+ * {@link org.opendaylight.controller.yang.data.impl.NodeModificationBuilderImpl#buildDiffTree()}\r
+ * .\r
+ * @throws Exception \r
+ */\r
+ @Test\r
+ public void testBuildDiffTreeAddComposite() throws Exception {\r
+ LOG.debug("testBuildDiffTreeAddComposite");\r
+ Document networkShadow = NodeUtils.buildShadowDomTree(network);\r
+ CompositeNode needle = NodeUtils.findNodeByXpath(networkShadow, \r
+ NodeHelper.AddNamespaceToPattern(\r
+ "//{0}node[{0}node-id='nodeId_19']//{0}termination-point[2]", ns));\r
+ \r
+ MutableCompositeNode mutableParent = (MutableCompositeNode) \r
+ nodeModificationBuilder.getMutableEquivalent(needle);\r
+ \r
+ MutableSimpleNode<String> newMutable = NodeFactory.createMutableSimpleNode(\r
+ new QName(needle.getNodeType(), "anySubNode"), null, "42", null, null);\r
+ \r
+ MutableCompositeNode newMutableCom = NodeFactory.createMutableCompositeNode(\r
+ new QName(needle.getNodeType(), "anySubNode"), mutableParent, \r
+ NodeUtils.buildChildrenList(newMutable), null, null);\r
+ NodeUtils.fixChildrenRelation(newMutableCom);\r
+ newMutableCom.init();\r
+ \r
+ nodeModificationBuilder.addNode(newMutableCom);\r
+ dumpResult();\r
+ }\r
+\r
+ /**\r
+ * Test method for\r
+ * {@link org.opendaylight.controller.yang.data.impl.NodeModificationBuilderImpl#buildDiffTree()}\r
+ * .\r
+ * @throws Exception \r
+ */\r
+ @Test\r
+ public void testBuildDiffTreeDeleteComposite() throws Exception {\r
+ LOG.debug("testBuildDiffTreeDeleteComposite");\r
+ Document networkShadow = NodeUtils.buildShadowDomTree(network);\r
+ SimpleNode<?> needle = NodeUtils.findNodeByXpath(networkShadow, \r
+ NodeHelper.AddNamespaceToPattern(\r
+ "//{0}node[{0}node-id='nodeId_19']//{0}termination-point[2]/{0}tp-id", ns));\r
+\r
+ @SuppressWarnings("unchecked")\r
+ MutableSimpleNode<String> mutableNeedle = (MutableSimpleNode<String>) \r
+ nodeModificationBuilder.getMutableEquivalent(needle);\r
+ \r
+ nodeModificationBuilder.deleteNode(mutableNeedle.getParent().asMutable());\r
+ dumpResult();\r
+ }\r
+\r
+ /**\r
+ * Test method for\r
+ * {@link org.opendaylight.controller.yang.data.impl.NodeModificationBuilderImpl#buildDiffTree()}\r
+ * .\r
+ * @throws Exception \r
+ */\r
+ @Test\r
+ public void testBuildDiffTreeDeleteSimple() throws Exception {\r
+ LOG.debug("testBuildDiffTreeDeleteSimple");\r
+ Document networkShadow = NodeUtils.buildShadowDomTree(network);\r
+ SimpleNode<?> needle = NodeUtils.findNodeByXpath(networkShadow, \r
+ NodeHelper.AddNamespaceToPattern(\r
+ "//{0}node[{0}node-id='nodeId_19']//{0}termination-point[2]/{0}tp-id", ns));\r
+ \r
+ @SuppressWarnings("unchecked")\r
+ MutableSimpleNode<String> mutableNeedle = (MutableSimpleNode<String>) \r
+ nodeModificationBuilder.getMutableEquivalent(needle);\r
+ \r
+ nodeModificationBuilder.deleteNode(mutableNeedle);\r
+ dumpResult();\r
+ }\r
+\r