Fixed bugs in antlr lexer and parser. Fixed distributionManagement section in pom...
[yangtools.git] / yang-data-impl / src / test / java / org / opendaylight / yangtools / yang / data / impl / LazyNodeToNodeMapTest.java
1 /*\r
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.\r
3  *\r
4  * This program and the accompanying materials are made available under the\r
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
6  * and is available at http://www.eclipse.org/legal/epl-v10.html\r
7  */\r
8 package org.opendaylight.yangtools.yang.data.impl;\r
9 \r
10 import java.net.URI;\r
11 import java.util.Date;\r
12 \r
13 import org.junit.Assert;\r
14 import org.junit.Before;\r
15 import org.junit.Test;\r
16 import org.opendaylight.yangtools.yang.common.QName;\r
17 import org.opendaylight.yangtools.yang.data.api.CompositeNode;\r
18 import org.opendaylight.yangtools.yang.data.api.MutableCompositeNode;\r
19 import org.opendaylight.yangtools.yang.data.api.Node;\r
20 import org.opendaylight.yangtools.yang.data.impl.LazyNodeToNodeMap;\r
21 \r
22 /**\r
23  * @author michal.rehak\r
24  *\r
25  */\r
26 public class LazyNodeToNodeMapTest {\r
27 \r
28     private LazyNodeToNodeMap lazyN2N;\r
29     private CompositeNode tree;\r
30 \r
31     /**\r
32      * prepare test values\r
33      * @throws Exception\r
34      */\r
35     @Before\r
36     public void setUp() throws Exception {\r
37         lazyN2N = new LazyNodeToNodeMap();\r
38 \r
39         QName qName = new QName(\r
40                 new URI("urn:ietf:params:xml:ns:netconf:base:1.0"),\r
41                 new Date(42), "yang-data-impl-mutableTest");\r
42 \r
43         tree = NodeHelper.buildTestConfigTree(qName);\r
44     }\r
45 \r
46     /**\r
47      * Test method for {@link org.opendaylight.controller.yang.data.impl.LazyNodeToNodeMap#getMutableEquivalent(org.opendaylight.controller.yang.data.api.Node)}.\r
48      */\r
49     @Test\r
50     public void testGetMutableEquivalent() {\r
51         MutableCompositeNode mutableTree = (MutableCompositeNode) lazyN2N.getMutableEquivalent(tree);\r
52 \r
53         Assert.assertNull(mutableTree.getParent());\r
54         Assert.assertEquals(tree.getNodeType(), mutableTree.getNodeType());\r
55         Assert.assertEquals(1, lazyN2N.getKeyNodes().size());\r
56 \r
57         Node<?> subNode = tree.getCompositesByName("topologies").iterator().next();\r
58         Node<?> subMutant = lazyN2N.getMutableEquivalent(subNode);\r
59 \r
60         Assert.assertNotNull(subMutant.getParent());\r
61         Assert.assertEquals(subNode.getNodeType(), subMutant.getNodeType());\r
62         Assert.assertEquals(2, lazyN2N.getKeyNodes().size());\r
63 \r
64         Assert.assertEquals(mutableTree, subMutant.getParent());\r
65         Assert.assertEquals(mutableTree.getChildren().size(), 1);\r
66         Assert.assertEquals(mutableTree.getChildren().iterator().next(), subMutant);\r
67     }\r
68 \r
69     /**\r
70      * Test method for {@link org.opendaylight.controller.yang.data.impl.LazyNodeToNodeMap#getMutableRoot()}.\r
71      */\r
72     @Test\r
73     public void testGetMutableRoot() {\r
74         Node<?> subNode = tree.getCompositesByName("topologies").iterator().next();\r
75         Node<?> subMutant = lazyN2N.getMutableEquivalent(subNode);\r
76 \r
77         Assert.assertNotNull(subMutant.getParent());\r
78         Assert.assertEquals(subMutant.getParent(), lazyN2N.getMutableRoot());\r
79     }\r
80 \r
81 }\r