Refactor ParserFieldsParameter
[netconf.git] / restconf / restconf-nb-rfc8040 / 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(3, result.size());
46         assertEquals(Set.of(LIBRARY_Q_NAME), result.get(0));
47         assertEquals(Set.of(ALBUM_Q_NAME), result.get(1));
48         assertEquals(Set.of(NAME_Q_NAME), result.get(2));
49     }
50
51     @Override
52     protected void assertChildrenPath(final List<Set<QName>> result) {
53         assertEquals(3, result.size());
54         assertEquals(Set.of(LIBRARY_Q_NAME), result.get(0));
55         assertEquals(Set.of(ALBUM_Q_NAME), result.get(1));
56         assertEquals(Set.of(NAME_Q_NAME), result.get(2));
57     }
58
59     @Override
60     protected void assertNamespace(final List<Set<QName>> result) {
61         assertEquals(1, result.size());
62         assertEquals(Set.of(AUGMENTED_LIBRARY_Q_NAME), result.get(0));
63     }
64
65     @Override
66     protected void assertMultipleChildren1(final List<Set<QName>> result) {
67         assertEquals(result.size(), 3);
68         assertEquals(Set.of(SERVICES_Q_NAME), result.get(0));
69         assertEquals(Set.of(TYPE_OF_SERVICE_Q_NAME, INSTANCE_Q_NAME), result.get(1));
70         assertEquals(Set.of(INSTANCE_NAME_Q_NAME, PROVIDER_Q_NAME), result.get(2));
71     }
72
73     @Override
74     protected void assertMultipleChildren2(final List<Set<QName>> result) {
75         assertEquals(result.size(), 3);
76         assertEquals(Set.of(SERVICES_Q_NAME), result.get(0));
77         assertEquals(Set.of(TYPE_OF_SERVICE_Q_NAME, INSTANCE_Q_NAME), result.get(1));
78         assertEquals(Set.of(INSTANCE_NAME_Q_NAME, PROVIDER_Q_NAME), result.get(2));
79     }
80
81     @Override
82     protected void assertMultipleChildren3(final List<Set<QName>> result) {
83         assertEquals(result.size(), 3);
84         assertEquals(Set.of(SERVICES_Q_NAME), result.get(0));
85         assertEquals(Set.of(TYPE_OF_SERVICE_Q_NAME, INSTANCE_Q_NAME, NEXT_DATA_Q_NAME), result.get(1));
86         assertEquals(Set.of(INSTANCE_NAME_Q_NAME, NEXT_SERVICE_Q_NAME), result.get(2));
87     }
88
89     @Override
90     protected void assertAugmentedChild(final List<Set<QName>> result) {
91         // FIXME: add assertions
92     }
93
94     @Override
95     protected void assertListFieldUnderList(final List<Set<QName>> result) {
96         // FIXME: add assertions
97     }
98
99     @Override
100     protected void assertLeafList(final List<Set<QName>> result) {
101         // FIXME: add assertions
102     }
103 }