d1f5a7ef2e155c426a1e8d4812e02efde24b0453
[netconf.git] / restconf / restconf-nb / src / test / java / org / opendaylight / restconf / nb / rfc8040 / utils / parser / WriterFieldsTranslatorTest.java
1 /*
2  * Copyright (c) 2016 Cisco Systems, Inc. and others.  All rights reserved.
3  * Copyright (c) 2021 PANTHEON.tech, s.r.o.
4  *
5  * This program and the accompanying materials are made available under the
6  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
7  * and is available at http://www.eclipse.org/legal/epl-v10.html
8  */
9 package org.opendaylight.restconf.nb.rfc8040.utils.parser;
10
11 import static org.junit.Assert.assertEquals;
12
13 import java.util.List;
14 import java.util.Set;
15 import org.junit.runner.RunWith;
16 import org.mockito.junit.MockitoJUnitRunner;
17 import org.opendaylight.restconf.common.context.InstanceIdentifierContext;
18 import org.opendaylight.restconf.nb.rfc8040.FieldsParam;
19 import org.opendaylight.yangtools.yang.common.QName;
20
21 /**
22  * Unit test for {@link WriterFieldsTranslator}.
23  */
24 @RunWith(MockitoJUnitRunner.class)
25 public class WriterFieldsTranslatorTest extends AbstractFieldsTranslatorTest<Set<QName>> {
26     @Override
27     protected List<Set<QName>> translateFields(final InstanceIdentifierContext context, final FieldsParam fields) {
28         return WriterFieldsTranslator.translate(context, fields);
29     }
30
31     @Override
32     protected void assertSimplePath(final List<Set<QName>> result) {
33         assertEquals(1, result.size());
34         assertEquals(Set.of(LIBRARY_Q_NAME), result.get(0));
35     }
36
37     @Override
38     protected void assertDoublePath(final List<Set<QName>> result) {
39         assertEquals(1, result.size());
40         assertEquals(Set.of(LIBRARY_Q_NAME, PLAYER_Q_NAME), result.get(0));
41     }
42
43     @Override
44     protected void assertSubPath(final List<Set<QName>> result) {
45         assertEquals(4, result.size());
46         assertEquals(Set.of(LIBRARY_Q_NAME), result.get(0));
47         assertEquals(Set.of(ARTIST_Q_NAME), result.get(1));
48         assertEquals(Set.of(ALBUM_Q_NAME), result.get(2));
49         assertEquals(Set.of(NAME_Q_NAME), result.get(3));
50     }
51
52     @Override
53     protected void assertChildrenPath(final List<Set<QName>> result) {
54         assertEquals(4, result.size());
55         assertEquals(Set.of(LIBRARY_Q_NAME), result.get(0));
56         assertEquals(Set.of(ARTIST_Q_NAME), result.get(1));
57         assertEquals(Set.of(ALBUM_Q_NAME), result.get(2));
58         assertEquals(Set.of(NAME_Q_NAME), result.get(3));
59     }
60
61     @Override
62     protected void assertNamespace(final List<Set<QName>> result) {
63         assertEquals(1, result.size());
64         assertEquals(Set.of(AUGMENTED_LIBRARY_Q_NAME), result.get(0));
65     }
66
67     @Override
68     protected void assertMultipleChildren1(final List<Set<QName>> result) {
69         assertEquals(result.size(), 3);
70         assertEquals(Set.of(SERVICES_Q_NAME), result.get(0));
71         assertEquals(Set.of(TYPE_OF_SERVICE_Q_NAME, INSTANCE_Q_NAME), result.get(1));
72         assertEquals(Set.of(INSTANCE_NAME_Q_NAME, PROVIDER_Q_NAME), result.get(2));
73     }
74
75     @Override
76     protected void assertMultipleChildren2(final List<Set<QName>> result) {
77         assertEquals(result.size(), 3);
78         assertEquals(Set.of(SERVICES_Q_NAME), result.get(0));
79         assertEquals(Set.of(TYPE_OF_SERVICE_Q_NAME, INSTANCE_Q_NAME), result.get(1));
80         assertEquals(Set.of(INSTANCE_NAME_Q_NAME, PROVIDER_Q_NAME), result.get(2));
81     }
82
83     @Override
84     protected void assertMultipleChildren3(final List<Set<QName>> result) {
85         assertEquals(result.size(), 3);
86         assertEquals(Set.of(SERVICES_Q_NAME), result.get(0));
87         assertEquals(Set.of(TYPE_OF_SERVICE_Q_NAME, INSTANCE_Q_NAME, NEXT_DATA_Q_NAME), result.get(1));
88         assertEquals(Set.of(INSTANCE_NAME_Q_NAME, NEXT_SERVICE_Q_NAME), result.get(2));
89     }
90
91     @Override
92     protected void assertAugmentedChild(final List<Set<QName>> result) {
93         // FIXME: add assertions
94     }
95
96     @Override
97     protected void assertListFieldUnderList(final List<Set<QName>> result) {
98         // FIXME: add assertions
99     }
100
101     @Override
102     protected void assertLeafList(final List<Set<QName>> result) {
103         // FIXME: add assertions
104     }
105 }