27aa868a72301ca2cd78ad87c272430a10586d32
[yangtools.git] / attic / yang-data-jaxen / src / test / java / org / opendaylight / yangtools / yang / data / jaxen / TestUtils.java
1 /*
2  * Copyright (c) 2015 Cisco Systems, Inc. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.yangtools.yang.data.jaxen;
10
11 import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapEntry;
12 import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapEntryBuilder;
13 import static org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes.mapNodeBuilder;
14
15 import org.opendaylight.yangtools.yang.common.QName;
16 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
17 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
18 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
19 import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder;
20
21 final class TestUtils {
22
23     private static final QName ROOT_QNAME = QName.create("urn:opendaylight.test2", "2015-08-08", "root");
24     private static final QName LIST_A_QNAME = QName.create(ROOT_QNAME, "list-a");
25     private static final QName LIST_B_QNAME = QName.create(ROOT_QNAME, "list-b");
26     private static final QName LEAF_A_QNAME = QName.create(ROOT_QNAME, "leaf-a");
27     private static final QName LEAF_B_QNAME = QName.create(ROOT_QNAME, "leaf-b");
28     private static final QName LEAF_C_QNAME = QName.create(ROOT_QNAME, "leaf-c");
29     private static final QName LEAF_D_QNAME = QName.create(ROOT_QNAME, "leaf-d");
30     private static final QName CONTAINER_A_QNAME = QName.create(ROOT_QNAME, "container-a");
31     private static final QName CONTAINER_B_QNAME = QName.create(ROOT_QNAME, "container-b");
32     private static final String FOO = "foo";
33     private static final String BAR = "bar";
34     private static final String WAZ = "waz";
35     private static final String ONE = "one";
36     private static final String TWO = "two";
37     private static final String THREE = "three";
38
39     private TestUtils() {
40     }
41
42     /**
43      * Returns a test document.
44      *
45      * <pre>
46      * root
47      *     leaf-c "waz"
48      *     list-a
49      *          leaf-a "foo"
50      *     list-a
51      *          leaf-a "bar"
52      *          list-b
53      *                  leaf-b "one"
54      *          list-b
55      *                  leaf-b "two"
56      *     container-a
57      *          container-b
58      *                  leaf-d "three"
59      * </pre>
60      *
61      * @return A test document instance.
62      */
63     public static NormalizedNode<?, ?> createNormalizedNodes() {
64         return ImmutableContainerNodeBuilder
65                 .create()
66                 .withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(ROOT_QNAME))
67                 .withChild(ImmutableNodes.leafNode(LEAF_C_QNAME, WAZ))
68                 .withChild(mapNodeBuilder(LIST_A_QNAME)
69                         .withChild(mapEntry(LIST_A_QNAME, LEAF_A_QNAME, FOO))
70                         .withChild(mapEntryBuilder(LIST_A_QNAME, LEAF_A_QNAME, BAR)
71                                 .withChild(mapNodeBuilder(LIST_B_QNAME)
72                                         .withChild(mapEntry(LIST_B_QNAME, LEAF_B_QNAME, ONE))
73                                         .withChild(mapEntry(LIST_B_QNAME, LEAF_B_QNAME, TWO))
74                                         .build())
75                                 .build())
76                         .build())
77                 .withChild(ImmutableContainerNodeBuilder.create()
78                         .withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(CONTAINER_A_QNAME))
79                         .withChild(ImmutableContainerNodeBuilder.create()
80                             .withNodeIdentifier(new YangInstanceIdentifier.NodeIdentifier(CONTAINER_B_QNAME))
81                                 .withChild(ImmutableNodes.leafNode(LEAF_D_QNAME, THREE))
82                                 .build())
83                         .build())
84                 .build();
85     }
86 }