X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-data-impl%2Fsrc%2Ftest%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fimpl%2FNodeFactoryTest.java;h=cafc14c38f1b208dab164aa176efcce49b414872;hb=afeeafafee7cc6807aac57529c3e4d1d907978ff;hp=32611bb3b690389923b3ecf5767dc55b58a6efb9;hpb=5c1f875f69e35248aa4115c429bd962160beeef4;p=yangtools.git diff --git a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/NodeFactoryTest.java b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/NodeFactoryTest.java index 32611bb3b6..cafc14c38f 100644 --- a/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/NodeFactoryTest.java +++ b/yang/yang-data-impl/src/test/java/org/opendaylight/yangtools/yang/data/impl/NodeFactoryTest.java @@ -1,164 +1,166 @@ -/* - * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.data.impl; - -import java.net.URI; -import java.util.ArrayList; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.data.api.CompositeNode; -import org.opendaylight.yangtools.yang.data.api.ModifyAction; -import org.opendaylight.yangtools.yang.data.api.MutableCompositeNode; -import org.opendaylight.yangtools.yang.data.api.Node; -import org.opendaylight.yangtools.yang.data.api.NodeModification; -import org.opendaylight.yangtools.yang.data.api.SimpleNode; -import org.w3c.dom.Document; - -/** - * @author michal.rehak - * - */ -public class NodeFactoryTest { - - private QName qName; - private CompositeNode network; - - private String ns; - private Document networkShadow; - - - /** - * @throws Exception - */ - @Before - public void setUp() throws Exception { - ns = "urn:ietf:params:xml:ns:netconf:base:1.0"; - qName = new QName( - new URI(ns), - new Date(42), null); - network = NodeHelper.buildTestConfigTree(qName); - networkShadow = NodeUtils.buildShadowDomTree(network); - NodeHelper.compareXmlTree(networkShadow, "./config02-shadow.xml", getClass()); - } - - /** - * Test method for methods creating immutable nodes in - * {@link org.opendaylight.yangtools.yang.data.impl.NodeFactory}. - * @throws Exception - */ - @Test - public void testImmutableNodes() throws Exception { - Assert.assertEquals(2, network.getChildren().size()); - CompositeNode tpList = NodeUtils.findNodeByXpath(networkShadow, - NodeHelper.AddNamespaceToPattern( - "//{0}node[{0}node-id/text()='nodeId_19']/{0}termination-points", ns)); - - - Assert.assertEquals(2, tpList.getCompositesByName("termination-point").size()); - } - - /** - * Test method for methods creating immutable and mutable nodes: - * {@link NodeFactory#createMutableCompositeNode(QName, CompositeNode, List, ModifyAction, CompositeNode)}, - * {@link NodeFactory#createMutableSimpleNode(QName, CompositeNode, Object, ModifyAction, SimpleNode)} - * @throws Exception - */ - @Test - public void testMutableNodes() throws Exception { - // - // - // - // Ethernet0/0 - // 1500 - // - // - // Ethernet0/1 - // 1501 - // - // - // - - - List> value = new ArrayList>(); - value.add(NodeFactory.createImmutableSimpleNode(new QName(qName, "name"), null, "Ethernet0/0")); - value.add(NodeFactory.createImmutableSimpleNode(new QName(qName, "mtu"), null, 1500)); - - MutableCompositeNode ifNode = NodeFactory.createMutableCompositeNode( - new QName(qName, "interface"), null, value, ModifyAction.DELETE, null); - ifNode.init(); - NodeHelper.assignParentToChildren(ifNode); - - value = new ArrayList>(); - value.add(NodeFactory.createImmutableSimpleNode(new QName(qName, "name"), null, "Ethernet1/0")); - value.add(NodeFactory.createMutableSimpleNode(new QName(qName, "mtu"), null, 1501, ModifyAction.REMOVE, null)); - - CompositeNode ifNode2 = NodeFactory.createImmutableCompositeNode(new QName(qName, "interface"), null, value); - NodeHelper.assignParentToChildren(ifNode2); - - value = new ArrayList>(); - value.add(ifNode); - value.add(ifNode2); - - CompositeNode topNode = NodeFactory.createImmutableCompositeNode(new QName(qName, "top"), null, value); - NodeHelper.assignParentToChildren(topNode); - value = new ArrayList>(); - value.add(topNode); - - CompositeNode root = NodeFactory.createImmutableCompositeNode(new QName(qName, "config"), null, value); - Document shadowConfig = NodeUtils.buildShadowDomTree(root); - NodeHelper.compareXmlTree(shadowConfig, "./mutableNodesConfig.xml", getClass()); - - Assert.assertEquals(1, root.getChildren().size()); - Assert.assertEquals(1, ifNode.getSimpleNodesByName("name").size()); - Assert.assertEquals(1, ifNode.getSimpleNodesByName("mtu").size()); - Assert.assertEquals(2, topNode.getCompositesByName("interface").size()); - NodeModification interfaceMod = topNode.getCompositesByName("interface").get(0); - Assert.assertEquals(ModifyAction.DELETE, interfaceMod.getModificationAction()); - } - - /** - * test of {@link NodeFactory#copyDeepAsMutable(CompositeNode, Map)} - * @throws Exception - */ - @Test - public void testCopyDeepAsMutable() throws Exception { - Map, Node> mutableToOrig = new HashMap<>(); - CompositeNode mutableNetwork = NodeFactory.copyDeepAsMutable(network, mutableToOrig); - - Document mutableNetworkShadow = NodeUtils.buildShadowDomTree(mutableNetwork); - - NodeHelper.compareXmlTree(mutableNetworkShadow, "./config02-shadow.xml", getClass()); - - CompositeNode immutableNetwork = NodeFactory.copyDeepAsImmutable(mutableNetwork, null); - Assert.assertEquals(network, immutableNetwork); - } - - - /** - * test of {@link NodeFactory#copyDeepAsImmutable(CompositeNode, Map)} - * @throws Exception - */ - @Test - public void testCopyDeepAsImmutable() throws Exception { - Map, Node> mutableToOrig = new HashMap<>(); - CompositeNode immutableNetwork = NodeFactory.copyDeepAsImmutable(network, mutableToOrig); - - Document mutableNetworkShadow = NodeUtils.buildShadowDomTree(immutableNetwork); - NodeHelper.compareXmlTree(mutableNetworkShadow, "./config02-shadow.xml", getClass()); - - Assert.assertEquals(network, immutableNetwork); - } - -} +/* + * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ +package org.opendaylight.yangtools.yang.data.impl; + +import java.net.URI; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.data.api.CompositeNode; +import org.opendaylight.yangtools.yang.data.api.ModifyAction; +import org.opendaylight.yangtools.yang.data.api.MutableCompositeNode; +import org.opendaylight.yangtools.yang.data.api.Node; +import org.opendaylight.yangtools.yang.data.api.NodeModification; +import org.opendaylight.yangtools.yang.data.api.SimpleNode; +import org.w3c.dom.Document; + +/** + * @author michal.rehak + * + */ +@Deprecated +public class NodeFactoryTest { + + private QName qName; + private CompositeNode network; + + private String ns; + private Document networkShadow; + + + /** + * @throws Exception + */ + @Before + public void setUp() throws Exception { + ns = "urn:ietf:params:xml:ns:netconf:base:1.0"; + qName = QName.create( + new URI(ns), + new Date(42), "node"); + network = NodeHelper.buildTestConfigTree(qName); + networkShadow = NodeUtils.buildShadowDomTree(network); + NodeHelper.compareXmlTree(networkShadow, "./config02-shadow.xml", getClass()); + } + + /** + * Test method for methods creating immutable nodes in + * {@link org.opendaylight.yangtools.yang.data.impl.NodeFactory}. + * @throws Exception + */ + @Test + public void testImmutableNodes() throws Exception { + Assert.assertEquals(2, network.getValue().size()); + CompositeNode tpList = NodeUtils.findNodeByXpath(networkShadow, + NodeHelper.AddNamespaceToPattern( + "//{0}node[{0}node-id/text()='nodeId_19']/{0}termination-points", ns)); + + + Assert.assertEquals(2, tpList.getCompositesByName("termination-point").size()); + } + + /** + * Test method for methods creating immutable and mutable nodes: + * {@link NodeFactory#createMutableCompositeNode(QName, CompositeNode, List, ModifyAction, CompositeNode)}, + * {@link NodeFactory#createMutableSimpleNode(QName, CompositeNode, Object, ModifyAction, SimpleNode)} + * @throws Exception + */ + @Test + public void testMutableNodes() throws Exception { + // + // + // + // Ethernet0/0 + // 1500 + // + // + // Ethernet0/1 + // 1501 + // + // + // + + + List> value = new ArrayList>(); + value.add(NodeFactory.createImmutableSimpleNode(QName.create(qName, "name"), null, "Ethernet0/0")); + value.add(NodeFactory.createImmutableSimpleNode(QName.create(qName, "mtu"), null, 1500)); + + MutableCompositeNode ifNode = NodeFactory.createMutableCompositeNode( + QName.create(qName, "interface"), null, + value, ModifyAction.DELETE, null); + ifNode.init(); + NodeHelper.assignParentToChildren(ifNode); + + value = new ArrayList>(); + value.add(NodeFactory.createImmutableSimpleNode(QName.create(qName, "name"), null, "Ethernet1/0")); + value.add(NodeFactory.createMutableSimpleNode(QName.create(qName, "mtu"), null, 1501, ModifyAction.REMOVE, null)); + + CompositeNode ifNode2 = NodeFactory.createImmutableCompositeNode(QName.create(qName, "interface"), null, value); + NodeHelper.assignParentToChildren(ifNode2); + + value = new ArrayList>(); + value.add(ifNode); + value.add(ifNode2); + + CompositeNode topNode = NodeFactory.createImmutableCompositeNode(QName.create(qName, "top"), null, value); + NodeHelper.assignParentToChildren(topNode); + value = new ArrayList>(); + value.add(topNode); + + CompositeNode root = NodeFactory.createImmutableCompositeNode(QName.create(qName, "config"), null, value); + Document shadowConfig = NodeUtils.buildShadowDomTree(root); + NodeHelper.compareXmlTree(shadowConfig, "./mutableNodesConfig.xml", getClass()); + + Assert.assertEquals(1, root.getValue().size()); + Assert.assertEquals(1, ifNode.getSimpleNodesByName("name").size()); + Assert.assertEquals(1, ifNode.getSimpleNodesByName("mtu").size()); + Assert.assertEquals(2, topNode.getCompositesByName("interface").size()); + NodeModification interfaceMod = topNode.getCompositesByName("interface").get(0); + Assert.assertEquals(ModifyAction.DELETE, interfaceMod.getModificationAction()); + } + + /** + * test of {@link NodeFactory#copyDeepAsMutable(CompositeNode, Map)} + * @throws Exception + */ + @Test + public void testCopyDeepAsMutable() throws Exception { + Map, Node> mutableToOrig = new HashMap<>(); + CompositeNode mutableNetwork = NodeFactory.copyDeepAsMutable(network, mutableToOrig); + + Document mutableNetworkShadow = NodeUtils.buildShadowDomTree(mutableNetwork); + + NodeHelper.compareXmlTree(mutableNetworkShadow, "./config02-shadow.xml", getClass()); + + CompositeNode immutableNetwork = NodeFactory.copyDeepAsImmutable(mutableNetwork, null); + Assert.assertEquals(network, immutableNetwork); + } + + + /** + * test of {@link NodeFactory#copyDeepAsImmutable(CompositeNode, Map)} + * @throws Exception + */ + @Test + public void testCopyDeepAsImmutable() throws Exception { + Map, Node> mutableToOrig = new HashMap<>(); + CompositeNode immutableNetwork = NodeFactory.copyDeepAsImmutable(network, mutableToOrig); + + Document mutableNetworkShadow = NodeUtils.buildShadowDomTree(immutableNetwork); + NodeHelper.compareXmlTree(mutableNetworkShadow, "./config02-shadow.xml", getClass()); + + Assert.assertEquals(network, immutableNetwork); + } + +}