2 * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
3 * Copyright (c) 2021 PANTHEON.tech, s.r.o.
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
9 package org.opendaylight.restconf.nb.rfc8040.utils.parser;
11 import static org.junit.Assert.assertEquals;
13 import java.util.List;
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;
22 * Unit test for {@link WriterFieldsTranslator}.
24 @RunWith(MockitoJUnitRunner.class)
25 public class WriterFieldsTranslatorTest extends AbstractFieldsTranslatorTest<Set<QName>> {
27 protected List<Set<QName>> translateFields(final InstanceIdentifierContext context, final FieldsParam fields) {
28 return WriterFieldsTranslator.translate(context, fields);
32 protected void assertSimplePath(final List<Set<QName>> result) {
33 assertEquals(1, result.size());
34 assertEquals(Set.of(LIBRARY_Q_NAME), result.get(0));
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));
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));
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));
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));
68 protected void assertMultipleChildren1(final List<Set<QName>> result) {
69 assertEquals(3, result.size());
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));
76 protected void assertMultipleChildren2(final List<Set<QName>> result) {
77 assertEquals(3, result.size());
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));
84 protected void assertMultipleChildren3(final List<Set<QName>> result) {
85 assertEquals(3, result.size());
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));
92 protected void assertMultipleChildren4(final List<Set<QName>> result) {
93 assertEquals(3, result.size());
94 assertEquals(Set.of(SERVICES_Q_NAME), result.get(0));
95 assertEquals(Set.of(TYPE_OF_SERVICE_Q_NAME, INSTANCE_Q_NAME, NEXT_DATA_Q_NAME), result.get(1));
96 assertEquals(Set.of(INSTANCE_NAME_Q_NAME, PROVIDER_Q_NAME, NEXT_SERVICE_Q_NAME), result.get(2));
100 protected void assertMultipleChildren5(final List<Set<QName>> result) {
101 assertEquals(3, result.size());
102 assertEquals(Set.of(SERVICES_Q_NAME), result.get(0));
103 assertEquals(Set.of(TYPE_OF_SERVICE_Q_NAME, INSTANCE_Q_NAME, NEXT_DATA_Q_NAME), result.get(1));
104 assertEquals(Set.of(INSTANCE_NAME_Q_NAME, PROVIDER_Q_NAME, NEXT_SERVICE_Q_NAME), result.get(2));
108 protected void assertAugmentedChild(final List<Set<QName>> result) {
109 assertEquals(2, result.size());
110 assertEquals(Set.of(PLAYER_Q_NAME), result.get(0));
111 assertEquals(Set.of(SPEED_Q_NAME), result.get(1));
115 protected void assertListFieldUnderList(final List<Set<QName>> result) {
116 assertEquals(2, result.size());
117 assertEquals(Set.of(SERVICES_Q_NAME), result.get(0));
118 assertEquals(Set.of(INSTANCE_Q_NAME), result.get(1));
122 protected void assertKeyedList(final List<Set<QName>> result) {
123 assertEquals(3, result.size());
124 assertEquals(Set.of(LIBRARY_Q_NAME), result.get(0));
125 assertEquals(Set.of(ARTIST_Q_NAME), result.get(1));
126 assertEquals(Set.of(NAME_Q_NAME), result.get(2));
130 protected void assertLeafList(final List<Set<QName>> result) {
131 assertEquals(1, result.size());
132 assertEquals(Set.of(PROTOCOLS_Q_NAME), result.get(0));