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(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));
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));
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));
92 protected void assertAugmentedChild(final List<Set<QName>> result) {
93 // FIXME: add assertions
97 protected void assertListFieldUnderList(final List<Set<QName>> result) {
98 // FIXME: add assertions
102 protected void assertLeafList(final List<Set<QName>> result) {
103 // FIXME: add assertions