2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
\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
8 package org.opendaylight.controller.yang.data.impl;
\r
10 import java.net.URI;
\r
11 import java.util.Date;
\r
13 import org.junit.Assert;
\r
14 import org.junit.Before;
\r
15 import org.junit.Test;
\r
16 import org.opendaylight.controller.yang.common.QName;
\r
17 import org.opendaylight.controller.yang.data.api.CompositeNode;
\r
18 import org.opendaylight.controller.yang.data.api.MutableCompositeNode;
\r
19 import org.opendaylight.controller.yang.data.api.Node;
\r
22 * @author michal.rehak
\r
25 public class LazyNodeToNodeMapTest {
\r
27 private LazyNodeToNodeMap lazyN2N;
\r
28 private CompositeNode tree;
\r
31 * prepare test values
\r
32 * @throws Exception
\r
35 public void setUp() throws Exception {
\r
36 lazyN2N = new LazyNodeToNodeMap();
\r
38 QName qName = new QName(
\r
39 new URI("urn:ietf:params:xml:ns:netconf:base:1.0"),
\r
40 new Date(42), "yang-data-impl-mutableTest");
\r
42 tree = NodeHelper.buildTestConfigTree(qName);
\r
46 * Test method for {@link org.opendaylight.controller.yang.data.impl.LazyNodeToNodeMap#getMutableEquivalent(org.opendaylight.controller.yang.data.api.Node)}.
\r
49 public void testGetMutableEquivalent() {
\r
50 MutableCompositeNode mutableTree = (MutableCompositeNode) lazyN2N.getMutableEquivalent(tree);
\r
52 Assert.assertNull(mutableTree.getParent());
\r
53 Assert.assertEquals(tree.getNodeType(), mutableTree.getNodeType());
\r
54 Assert.assertEquals(1, lazyN2N.getKeyNodes().size());
\r
56 Node<?> subNode = tree.getCompositesByName("topologies").iterator().next();
\r
57 Node<?> subMutant = lazyN2N.getMutableEquivalent(subNode);
\r
59 Assert.assertNotNull(subMutant.getParent());
\r
60 Assert.assertEquals(subNode.getNodeType(), subMutant.getNodeType());
\r
61 Assert.assertEquals(2, lazyN2N.getKeyNodes().size());
\r
63 Assert.assertEquals(mutableTree, subMutant.getParent());
\r
64 Assert.assertEquals(mutableTree.getChildren().size(), 1);
\r
65 Assert.assertEquals(mutableTree.getChildren().iterator().next(), subMutant);
\r
69 * Test method for {@link org.opendaylight.controller.yang.data.impl.LazyNodeToNodeMap#getMutableRoot()}.
\r
72 public void testGetMutableRoot() {
\r
73 Node<?> subNode = tree.getCompositesByName("topologies").iterator().next();
\r
74 Node<?> subMutant = lazyN2N.getMutableEquivalent(subNode);
\r
76 Assert.assertNotNull(subMutant.getParent());
\r
77 Assert.assertEquals(subMutant.getParent(), lazyN2N.getMutableRoot());
\r