2 * Copyright (c) 2022 PANTHEON.tech, s.r.o. and others. All rights reserved.
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
8 package org.opendaylight.yangtools.yang.data.api.schema.stream;
10 import static org.junit.jupiter.api.Assertions.assertEquals;
12 import java.io.IOException;
14 import org.junit.jupiter.api.BeforeAll;
15 import org.junit.jupiter.api.Test;
16 import org.opendaylight.yangtools.yang.common.QName;
17 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
18 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier;
19 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
20 import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
22 public class YT1433Test {
23 private static EffectiveModelContext CONTEXT;
26 public static void beforeAll() {
27 CONTEXT = YangParserTestUtils.parseYangResourceDirectory("/YT1433");
31 public void testContainerAugmentContainer() throws IOException {
32 final FormattingNormalizedNodeStreamWriter streamWriter = new FormattingNormalizedNodeStreamWriter();
34 final QName bar = QName.create("foo", "bar");
35 final QName baz = QName.create("foo", "baz");
37 final YangInstanceIdentifier path = YangInstanceIdentifier.builder()
38 .node(QName.create("foo", "foo"))
39 .node(AugmentationIdentifier.create(Set.of(bar)))
41 .node(AugmentationIdentifier.create(Set.of(baz)))
45 try (var iidWriter = YangInstanceIdentifierWriter.open(streamWriter, CONTEXT, path)) {
46 try (var nnWriter = new NormalizedNodeWriter(streamWriter)) {
53 AugmentationIdentifier{childNames=[(foo)bar]}(augmentation)
55 AugmentationIdentifier{childNames=[(foo)baz]}(augmentation)
62 """, streamWriter.result());
66 public void testChoiceAugmentCointainer() throws IOException {
67 final FormattingNormalizedNodeStreamWriter streamWriter = new FormattingNormalizedNodeStreamWriter();
69 final QName bar = QName.create("bar", "bar");
70 final QName baz = QName.create("bar", "baz");
72 final YangInstanceIdentifier path = YangInstanceIdentifier.builder()
73 .node(QName.create("bar", "foo"))
78 try (var iidWriter = YangInstanceIdentifierWriter.open(streamWriter, CONTEXT, path)) {
79 try (var nnWriter = new NormalizedNodeWriter(streamWriter)) {
91 """, streamWriter.result());