Add NormalizationResult
[yangtools.git] / codec / yang-data-codec-gson / src / test / java / org / opendaylight / yangtools / yang / data / codec / gson / Bug7246Test.java
index 46af2239580eab4cecde24aa48ef41fb1dbbf731..d938e60d713276ab72e6b6e6bf54b6a41771abd8 100644 (file)
@@ -12,7 +12,6 @@ import static org.junit.Assert.assertEquals;
 import com.google.gson.JsonParser;
 import java.io.File;
 import java.io.FileReader;
-import java.io.IOException;
 import java.io.StringWriter;
 import java.io.Writer;
 import java.nio.charset.StandardCharsets;
@@ -20,14 +19,12 @@ import org.junit.Test;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.XMLNamespace;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
-import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
 import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter;
+import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
-import org.opendaylight.yangtools.yang.data.impl.schema.builder.impl.ImmutableContainerNodeBuilder;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
+import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
 import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
 
 public class Bug7246Test {
@@ -35,15 +32,14 @@ public class Bug7246Test {
 
     @Test
     public void test() throws Exception {
-        final EffectiveModelContext schemaContext =
-                YangParserTestUtils.parseYangResource("/bug7246/yang/rpc-test.yang");
-        final ContainerNode inputStructure = ImmutableContainerNodeBuilder.create()
-                .withNodeIdentifier(new NodeIdentifier(qN("my-name")))
-                .withChild(ImmutableNodes.leafNode(new NodeIdentifier(qN("my-name")), "my-value")).build();
-        final SchemaPath rootPath = SchemaPath.create(true, qN("my-name"), qN("input"));
-        final Writer writer = new StringWriter();
-        final String jsonOutput = normalizedNodeToJsonStreamTransformation(schemaContext, rootPath, writer,
-                inputStructure);
+        final var schemaContext = YangParserTestUtils.parseYangResource("/bug7246/yang/rpc-test.yang");
+        final var inputStructure = Builders.containerBuilder()
+            .withNodeIdentifier(new NodeIdentifier(qN("my-name")))
+            .withChild(ImmutableNodes.leafNode(new NodeIdentifier(qN("my-name")), "my-value"))
+            .build();
+        final var writer = new StringWriter();
+        final var jsonOutput = normalizedNodeToJsonStreamTransformation(schemaContext,  writer, inputStructure,
+            qN("my-name"), qN("input"));
 
         assertEquals(JsonParser.parseReader(new FileReader(
             new File(getClass().getResource("/bug7246/json/expected-output.json").toURI()), StandardCharsets.UTF_8)),
@@ -55,13 +51,11 @@ public class Bug7246Test {
     }
 
     private static String normalizedNodeToJsonStreamTransformation(final EffectiveModelContext schemaContext,
-            final SchemaPath path, final Writer writer, final NormalizedNode inputStructure)
-            throws IOException {
-
-        final NormalizedNodeStreamWriter jsonStream = JSONNormalizedNodeStreamWriter.createExclusiveWriter(
-                JSONCodecFactorySupplier.DRAFT_LHOTKA_NETMOD_YANG_JSON_02.getShared(schemaContext), path,
+            final Writer writer, final NormalizedNode inputStructure, final QName... path) throws Exception {
+        final var jsonStream = JSONNormalizedNodeStreamWriter.createExclusiveWriter(
+                JSONCodecFactorySupplier.DRAFT_LHOTKA_NETMOD_YANG_JSON_02.getShared(schemaContext), Absolute.of(path),
                 XMLNamespace.of(NS), JsonWriterFactory.createJsonWriter(writer, 2));
-        try (NormalizedNodeWriter nodeWriter = NormalizedNodeWriter.forStreamWriter(jsonStream)) {
+        try (var nodeWriter = NormalizedNodeWriter.forStreamWriter(jsonStream)) {
             nodeWriter.write(inputStructure);
         }
         return writer.toString();