Migrate yang-data-codec-binfmt to JUnit 5 82/106882/3
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 18 Oct 2023 11:32:56 +0000 (13:32 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 18 Oct 2023 12:34:33 +0000 (14:34 +0200)
We have a ton of parameterized tests here, migrate them manually to
JUnit5.

JIRA: YANGTOOLS-1521
Change-Id: I4efc867a01a4dbb6a6fc38e452ab4db55ff0819c
Signed-off-by: matus.matok <matus.matok@pantheon.tech>
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
15 files changed:
codec/yang-data-codec-binfmt/src/test/java/org/opendaylight/yangtools/yang/data/codec/binfmt/AbstractSerializationTest.java
codec/yang-data-codec-binfmt/src/test/java/org/opendaylight/yangtools/yang/data/codec/binfmt/BitsSerializationTest.java
codec/yang-data-codec-binfmt/src/test/java/org/opendaylight/yangtools/yang/data/codec/binfmt/BooleanSerializationTest.java
codec/yang-data-codec-binfmt/src/test/java/org/opendaylight/yangtools/yang/data/codec/binfmt/BytesSerializationTest.java
codec/yang-data-codec-binfmt/src/test/java/org/opendaylight/yangtools/yang/data/codec/binfmt/DataTreeCandidateInputOutputTest.java
codec/yang-data-codec-binfmt/src/test/java/org/opendaylight/yangtools/yang/data/codec/binfmt/IntSerializationTest.java
codec/yang-data-codec-binfmt/src/test/java/org/opendaylight/yangtools/yang/data/codec/binfmt/MapEntrySerializationTest.java
codec/yang-data-codec-binfmt/src/test/java/org/opendaylight/yangtools/yang/data/codec/binfmt/NipSerializationTest.java
codec/yang-data-codec-binfmt/src/test/java/org/opendaylight/yangtools/yang/data/codec/binfmt/NormalizedNodeDataOutputTest.java
codec/yang-data-codec-binfmt/src/test/java/org/opendaylight/yangtools/yang/data/codec/binfmt/NormalizedNodeStreamReaderWriterTest.java
codec/yang-data-codec-binfmt/src/test/java/org/opendaylight/yangtools/yang/data/codec/binfmt/QNameFactoryTest.java
codec/yang-data-codec-binfmt/src/test/java/org/opendaylight/yangtools/yang/data/codec/binfmt/SampleNormalizedNodeSerializable.java
codec/yang-data-codec-binfmt/src/test/java/org/opendaylight/yangtools/yang/data/codec/binfmt/StringSerializationTest.java
codec/yang-data-codec-binfmt/src/test/java/org/opendaylight/yangtools/yang/data/codec/binfmt/UintSerializationTest.java
codec/yang-data-codec-binfmt/src/test/java/org/opendaylight/yangtools/yang/data/codec/binfmt/YiidSerializationTest.java

index 40b134bcca4bb422c634d60366fa8afc80a8e3d0..9b325a2e9b07b36dc1063cb6119eaf68ce6723f9 100644 (file)
@@ -13,20 +13,16 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 import org.junit.Assert;
-import org.junit.runners.Parameterized.Parameter;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
 
-public abstract class AbstractSerializationTest {
-
-    @Parameter(0)
-    public NormalizedNodeStreamVersion version;
-
-    final <T extends NormalizedNode> T assertEquals(final T node, final int expectedSize) {
-        final ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        try (NormalizedNodeDataOutput nnout = version.newDataOutput(ByteStreams.newDataOutput(baos))) {
+abstract class AbstractSerializationTest {
+    static final <T extends NormalizedNode> T assertEquals(final NormalizedNodeStreamVersion version, final T node,
+            final int expectedSize) {
+        final var baos = new ByteArrayOutputStream();
+        try (var nnout = version.newDataOutput(ByteStreams.newDataOutput(baos))) {
             nnout.writeNormalizedNode(node);
         } catch (IOException e) {
             throw new AssertionError("Failed to serialize", e);
@@ -45,13 +41,14 @@ public abstract class AbstractSerializationTest {
         return node;
     }
 
-    final <T> T assertEquals(final T value, final int expectedSize) {
-        return assertEquals(ImmutableNodes.leafNode(TestModel.TEST_QNAME, value), expectedSize).body();
+    static final <T> T assertEquals(final NormalizedNodeStreamVersion version, final T value, final int expectedSize) {
+        return assertEquals(version, ImmutableNodes.leafNode(TestModel.TEST_QNAME, value), expectedSize).body();
     }
 
-    final <T extends PathArgument> T assertEquals(final T arg, final int expectedSize) {
-        final ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        try (NormalizedNodeDataOutput nnout = version.newDataOutput(ByteStreams.newDataOutput(baos))) {
+    static final <T extends PathArgument> T assertEquals(final NormalizedNodeStreamVersion version, final T arg,
+            final int expectedSize) {
+        final var baos = new ByteArrayOutputStream();
+        try (var nnout = version.newDataOutput(ByteStreams.newDataOutput(baos))) {
             nnout.writePathArgument(arg);
         } catch (IOException e) {
             throw new AssertionError("Failed to serialize", e);
@@ -70,9 +67,10 @@ public abstract class AbstractSerializationTest {
         return (T) deser;
     }
 
-    final void assertEqualsTwice(final PathArgument arg, final int expectedSize) {
-        final ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        try (NormalizedNodeDataOutput nnout = version.newDataOutput(ByteStreams.newDataOutput(baos))) {
+    static final void assertEqualsTwice(final NormalizedNodeStreamVersion version, final PathArgument arg,
+            final int expectedSize) {
+        final var baos = new ByteArrayOutputStream();
+        try (var nnout = version.newDataOutput(ByteStreams.newDataOutput(baos))) {
             nnout.writePathArgument(arg);
             nnout.writePathArgument(arg);
         } catch (IOException e) {
@@ -83,7 +81,7 @@ public abstract class AbstractSerializationTest {
         Assert.assertEquals(expectedSize, bytes.length);
 
         try {
-            final NormalizedNodeDataInput in = NormalizedNodeDataInput.newDataInput(ByteStreams.newDataInput(bytes));
+            final var in = NormalizedNodeDataInput.newDataInput(ByteStreams.newDataInput(bytes));
             Assert.assertEquals(arg, in.readPathArgument());
             Assert.assertEquals(arg, in.readPathArgument());
         } catch (IOException e) {
@@ -91,16 +89,18 @@ public abstract class AbstractSerializationTest {
         }
     }
 
-    final void assertSame(final Object value, final int expectedSize) {
-        Assert.assertSame(value, assertEquals(value, expectedSize));
+    static final void assertSame(final NormalizedNodeStreamVersion version, final Object value,
+            final int expectedSize) {
+        Assert.assertSame(value, assertEquals(version, value, expectedSize));
     }
 
-    final void assertSame(final PathArgument arg, final int expectedSize) {
-        Assert.assertSame(arg, assertEquals(arg, expectedSize));
+    static final void assertSame(final NormalizedNodeStreamVersion version, final PathArgument arg,
+            final int expectedSize) {
+        Assert.assertSame(arg, assertEquals(version, arg, expectedSize));
     }
 
     static final List<QName> generateQNames(final int size) {
-        final List<QName> qnames = new ArrayList<>(size);
+        final var qnames = new ArrayList<QName>(size);
         for (int i = 0; i < size; ++i) {
             qnames.add(QName.create(TestModel.TEST_QNAME, "a" + Integer.toHexString(i)));
         }
index 9146f2db888c4be8233cae2d1c47f3e533ecc461..4811308b4f85d2e75777dcd331d4328db39ac945 100644 (file)
@@ -8,72 +8,74 @@
 package org.opendaylight.yangtools.yang.data.codec.binfmt;
 
 import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.ImmutableSet.Builder;
 import com.google.common.io.ByteStreams;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
-import java.util.Collections;
-import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
-import org.opendaylight.yangtools.yang.data.api.schema.LeafNode;
+import java.util.List;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
 
-@RunWith(Parameterized.class)
-public class BitsSerializationTest extends AbstractSerializationTest {
-    @Parameters(name = "{0}")
-    public static Iterable<Object[]> data() {
-        return Collections.singletonList(
-            new Object[] { NormalizedNodeStreamVersion.POTASSIUM, 96, 100, 226, 1_536, 456_764, 654_045 });
+class BitsSerializationTest extends AbstractSerializationTest {
+    @ParameterizedTest
+    @MethodSource
+    void testEmptyBytes(final NormalizedNodeStreamVersion version, final int size) {
+        assertSame(version, ImmutableSet.of(), size);
     }
 
-    @Parameter(1)
-    public int emptySize;
-    @Parameter(2)
-    public int oneSize;
-    @Parameter(3)
-    public int size29;
-    @Parameter(4)
-    public int size285;
-    @Parameter(5)
-    public int size65821;
-    @Parameter(6)
-    public int twiceSize65821;
-
-    @Test
-    public void testEmptyBytes() {
-        assertSame(ImmutableSet.of(), emptySize);
+    static List<Arguments> testEmptyBytes() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 96));
     }
 
-    @Test
-    public void testOne() {
-        assertEquals(ImmutableSet.of("a"), oneSize);
+    @ParameterizedTest
+    @MethodSource
+    void testOne(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, ImmutableSet.of("a"), size);
     }
 
-    @Test
-    public void test29() {
-        assertEquals(fillBits(29), size29);
+    static List<Arguments> testOne() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 100));
     }
 
-    @Test
-    public void test285() {
-        assertEquals(fillBits(285), size285);
+    @ParameterizedTest
+    @MethodSource
+    void test29(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, fillBits(29), size);
     }
 
-    @Test
-    public void test65821() {
-        assertEquals(fillBits(65821), size65821);
+    static List<Arguments> test29() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 226));
     }
 
-    @Test
-    public void testTwice65536() {
-        final LeafNode<ImmutableSet<String>> leaf = ImmutableNodes.leafNode(TestModel.TEST_QNAME, fillBits(65821));
+    @ParameterizedTest
+    @MethodSource
+    void test285(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, fillBits(285), size);
+    }
+
+    static List<Arguments> test285() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 1_536));
+    }
+
+    @ParameterizedTest
+    @MethodSource
+    void test65821(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, fillBits(65821), size);
+    }
 
-        final ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        try (NormalizedNodeDataOutput nnout = version.newDataOutput(ByteStreams.newDataOutput(baos))) {
+    static List<Arguments> test65821() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 456_764));
+    }
+
+    @ParameterizedTest
+    @MethodSource
+    void testTwice65536(final NormalizedNodeStreamVersion version, final int size) {
+        final var leaf = ImmutableNodes.leafNode(TestModel.TEST_QNAME, fillBits(65821));
+
+        final var baos = new ByteArrayOutputStream();
+        try (var nnout = version.newDataOutput(ByteStreams.newDataOutput(baos))) {
             nnout.writeNormalizedNode(leaf);
             nnout.writeNormalizedNode(leaf);
         } catch (IOException e) {
@@ -81,24 +83,28 @@ public class BitsSerializationTest extends AbstractSerializationTest {
         }
 
         final byte[] bytes = baos.toByteArray();
-        Assert.assertEquals(twiceSize65821, bytes.length);
+        Assertions.assertEquals(size, bytes.length);
 
         try {
-            final NormalizedNodeDataInput input = NormalizedNodeDataInput.newDataInput(ByteStreams.newDataInput(bytes));
-            Assert.assertEquals(leaf, input.readNormalizedNode());
-            Assert.assertEquals(leaf, input.readNormalizedNode());
+            final var input = NormalizedNodeDataInput.newDataInput(ByteStreams.newDataInput(bytes));
+            Assertions.assertEquals(leaf, input.readNormalizedNode());
+            Assertions.assertEquals(leaf, input.readNormalizedNode());
         } catch (IOException e) {
             throw new AssertionError("Failed to deserialize", e);
         }
     }
 
+    static List<Arguments> testTwice65536() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 654_045));
+    }
+
     private static ImmutableSet<String> fillBits(final int size) {
-        final Builder<String> builder = ImmutableSet.builderWithExpectedSize(size);
+        final var builder = ImmutableSet.<String>builderWithExpectedSize(size);
         for (int i = 0; i < size; ++i) {
             builder.add(Integer.toHexString(i));
         }
-        final ImmutableSet<String> ret = builder.build();
-        Assert.assertEquals(size, ret.size());
+        final var ret = builder.build();
+        Assertions.assertEquals(size, ret.size());
         return ret;
     }
 }
index 682b2b0b1fe24ef4047ad4b70d19778687d37a4c..ee1afa2ea4a5117da1315add0e5456063a97597a 100644 (file)
@@ -7,31 +7,25 @@
  */
 package org.opendaylight.yangtools.yang.data.codec.binfmt;
 
-import java.util.Collections;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
+import java.util.List;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 
-@RunWith(Parameterized.class)
-public class BooleanSerializationTest extends AbstractSerializationTest {
-    @Parameters(name = "{0}")
-    public static Iterable<Object[]> data() {
-        return Collections.singletonList(
-            new Object[] { NormalizedNodeStreamVersion.POTASSIUM, 96 });
+class BooleanSerializationTest extends AbstractSerializationTest {
+    @ParameterizedTest
+    @MethodSource("parameters")
+    void testTrue(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, Boolean.TRUE, size);
     }
 
-    @Parameter(1)
-    public int size;
-
-    @Test
-    public void testTrue() {
-        assertEquals(Boolean.TRUE, size);
+    @ParameterizedTest
+    @MethodSource("parameters")
+    void testFalse(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, Boolean.FALSE, size);
     }
 
-    @Test
-    public void testFalse() {
-        assertEquals(Boolean.FALSE, size);
+    private static List<Arguments> parameters() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 96));
     }
 }
index 27be3cc64627c9747d7ce58761d4bc4d2bdd7451..6d81b83531b15bbdeaee6cceefa90481d81c7d55 100644 (file)
@@ -7,60 +7,61 @@
  */
 package org.opendaylight.yangtools.yang.data.codec.binfmt;
 
-import java.util.Collections;
+import java.util.List;
 import java.util.concurrent.ThreadLocalRandom;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 
-@RunWith(Parameterized.class)
-public class BytesSerializationTest extends AbstractSerializationTest {
-    private static final byte[] BINARY_128 = randomBytes(128);
-    private static final byte[] BINARY_384 = randomBytes(384);
-    private static final byte[] BINARY_65920 = randomBytes(65920);
+class BytesSerializationTest extends AbstractSerializationTest {
+    @ParameterizedTest
+    @MethodSource
+    void testEmptyBytes(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, new byte[0], size);
+    }
+
+    static List<Arguments> testEmptyBytes() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 96));
+    }
 
-    @Parameters(name = "{0}")
-    public static Iterable<Object[]> data() {
-        return Collections.singletonList(
-            new Object[] { NormalizedNodeStreamVersion.POTASSIUM, 96, 97, 225, 482, 66_020 });
+    @ParameterizedTest
+    @MethodSource
+    void testOne(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, randomBytes(1), size);
     }
 
-    @Parameter(1)
-    public int emptySize;
-    @Parameter(2)
-    public int oneSize;
-    @Parameter(3)
-    public int size128;
-    @Parameter(4)
-    public int size384;
-    @Parameter(5)
-    public int size65920;
+    static List<Arguments> testOne() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 97));
+    }
+
+    @ParameterizedTest
+    @MethodSource
+    void test128(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, randomBytes(128), size);
+    }
 
-    @Test
-    public void testEmptyBytes() {
-        assertEquals(new byte[0], emptySize);
+    static List<Arguments> test128() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 225));
     }
 
-    @Test
-    public void testOne() {
-        assertEquals(randomBytes(1), oneSize);
+    @ParameterizedTest
+    @MethodSource
+    void test384(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, randomBytes(384), size);
     }
 
-    @Test
-    public void test128() {
-        assertEquals(BINARY_128, size128);
+    static List<Arguments> test384() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 482));
     }
 
-    @Test
-    public void test384() {
-        assertEquals(BINARY_384, size384);
+    @ParameterizedTest
+    @MethodSource
+    void test65920(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, randomBytes(65920), size);
     }
 
-    @Test
-    public void test65920() {
-        assertEquals(BINARY_65920, size65920);
+    static List<Arguments> test65920() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 66_020));
     }
 
     private static byte[] randomBytes(final int size) {
index b2bd08150883152ba9717169316ede74ac997679..08b880ce91afd8a5296a6e38d6bd52ac2de1f206 100644 (file)
@@ -7,20 +7,15 @@
  */
 package org.opendaylight.yangtools.yang.data.codec.binfmt;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertEquals;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.DataInputStream;
-import java.io.DataOutput;
 import java.io.DataOutputStream;
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Iterator;
 import java.util.function.Consumer;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
+import org.junit.jupiter.api.BeforeAll;
+import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
@@ -36,7 +31,7 @@ import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.test.util.YangParserTestUtils;
 
-public class DataTreeCandidateInputOutputTest {
+class DataTreeCandidateInputOutputTest {
     private static final QName FOO = QName.create("foo", "foo");
     private static final QName BAR = QName.create(FOO, "bar");
     private static final QName BAZ = QName.create(FOO, "baz");
@@ -49,10 +44,11 @@ public class DataTreeCandidateInputOutputTest {
 
     private static EffectiveModelContext CONTEXT;
 
-    private DataTree dataTree;
+    private final DataTree dataTree = new InMemoryDataTreeFactory()
+        .create(DataTreeConfiguration.DEFAULT_CONFIGURATION, CONTEXT);
 
-    @BeforeClass
-    public static void beforeClass() {
+    @BeforeAll
+    static void beforeAll() {
         CONTEXT = YangParserTestUtils.parseYang("""
             module foo {
               namespace foo;
@@ -71,47 +67,42 @@ public class DataTreeCandidateInputOutputTest {
             }""");
     }
 
-    @Before
-    public void before() {
-        dataTree = new InMemoryDataTreeFactory().create(DataTreeConfiguration.DEFAULT_CONFIGURATION, CONTEXT);
-    }
-
     @Test
-    public void testWriteRoot() throws IOException {
+    void testWriteRoot() throws Exception {
         assertSerialization(createCandidate(mod -> mod.write(YangInstanceIdentifier.of(),
             ImmutableNodes.containerNode(SchemaContext.NAME))));
     }
 
     @Test
-    public void testWrite() throws IOException {
+    void testWrite() throws Exception {
         assertSerialization(createCandidate(mod -> mod.write(BAR_PATH, ImmutableNodes.containerNode(BAR))));
     }
 
     @Test
-    public void testDelete() throws IOException {
+    void testDelete() throws Exception {
         createCandidate(mod -> mod.write(BAR_PATH, ImmutableNodes.containerNode(BAR)));
         assertSerialization(createCandidate(mod -> mod.delete(BAR_PATH)));
     }
 
     @Test
-    public void testWriteAppear() throws IOException {
+    void testWriteAppear() throws Exception {
         assertSerialization(createCandidate(mod -> mod.write(FOO_BAR_PATH, ImmutableNodes.leafNode(BAR, "value"))));
     }
 
     @Test
-    public void testDeleteDisappear() throws IOException {
+    void testDeleteDisappear() throws Exception {
         createCandidate(mod -> mod.write(FOO_BAR_PATH, ImmutableNodes.leafNode(BAR, "value")));
         assertSerialization(createCandidate(mod -> mod.delete(FOO_BAR_PATH)));
     }
 
     @Test
-    public void testUnmodifiedRoot() throws IOException {
+    void testUnmodifiedRoot() throws Exception {
         assertSerialization(createCandidate(mod -> mod.merge(YangInstanceIdentifier.of(),
             ImmutableNodes.containerNode(SchemaContext.NAME))));
     }
 
     @Test
-    public void testUnmodifiedFoo() throws IOException {
+    void testUnmodifiedFoo() throws Exception {
         assertSerialization(createCandidate(mod -> {
             mod.write(FOO_BAR_PATH, ImmutableNodes.leafNode(BAR, "value"));
             mod.delete(FOO_BAR_PATH);
@@ -119,7 +110,7 @@ public class DataTreeCandidateInputOutputTest {
     }
 
     private DataTreeCandidate createCandidate(final Consumer<DataTreeModification> function) {
-        final DataTreeModification mod = dataTree.takeSnapshot().newModification();
+        final var mod = dataTree.takeSnapshot().newModification();
         function.accept(mod);
         mod.ready();
 
@@ -133,15 +124,13 @@ public class DataTreeCandidateInputOutputTest {
         return ret;
     }
 
-    private static void assertSerialization(final DataTreeCandidate orig) throws IOException {
-        final ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        final DataOutput dos = new DataOutputStream(bos);
-
-        try (NormalizedNodeDataOutput out = NormalizedNodeStreamVersion.current().newDataOutput(dos)) {
+    private static void assertSerialization(final DataTreeCandidate orig) throws Exception {
+        final var bos = new ByteArrayOutputStream();
+        try (var out = NormalizedNodeStreamVersion.current().newDataOutput(new DataOutputStream(bos))) {
             DataTreeCandidateInputOutput.writeDataTreeCandidate(out, orig);
         }
 
-        final DataTreeCandidate read = DataTreeCandidateInputOutput.readDataTreeCandidate(
+        final var read = DataTreeCandidateInputOutput.readDataTreeCandidate(
             NormalizedNodeDataInput.newDataInput(new DataInputStream(new ByteArrayInputStream(bos.toByteArray()))));
         assertEquals(orig.getRootPath(), read.getRootPath());
         assertEqualMod(orig.getRootNode(), read.getRootNode());
@@ -156,13 +145,12 @@ public class DataTreeCandidateInputOutputTest {
                 // No children to verify
                 break;
             default:
-                final Collection<DataTreeCandidateNode> expectedChildren = expected.childNodes();
-                final Collection<DataTreeCandidateNode> actualChildren = actual.childNodes();
+                final var expectedChildren = expected.childNodes();
+                final var actualChildren = actual.childNodes();
                 assertEquals(expectedChildren.size(), actualChildren.size());
 
-                final Iterator<DataTreeCandidateNode> ait = actualChildren.iterator();
-
-                for (DataTreeCandidateNode expectedChild : expectedChildren) {
+                final var ait = actualChildren.iterator();
+                for (var expectedChild : expectedChildren) {
                     assertEqualNodes(expectedChild, ait.next());
                 }
         }
index 0c5424792c4106ba5e7452c118d38511af1d9a65..b5d261d8e7200c093ec3fb1040c59244971145cf 100644 (file)
@@ -7,67 +7,59 @@
  */
 package org.opendaylight.yangtools.yang.data.codec.binfmt;
 
-import java.util.Collections;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
+import java.util.List;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 
-@RunWith(Parameterized.class)
-public class IntSerializationTest extends AbstractSerializationTest {
-    @Parameters(name = "{0}")
-    public static Iterable<Object[]> data() {
-        return Collections.singletonList(
-            new Object[] { NormalizedNodeStreamVersion.POTASSIUM, 96, 97, 96, 98, 96, 98, 100, 96, 100, 104 });
+class IntSerializationTest extends AbstractSerializationTest {
+    @ParameterizedTest
+    @MethodSource
+    void testByte(final NormalizedNodeStreamVersion version, final int expectedByte, final int expectedByteOne) {
+        assertSame(version, (byte) 0, expectedByte);
+        assertSame(version, (byte) 1, expectedByteOne);
+        assertSame(version, Byte.MAX_VALUE, expectedByteOne);
     }
 
-    @Parameter(1)
-    public int expectedByte;
-    @Parameter(2)
-    public int expectedByteOne;
-    @Parameter(3)
-    public int expectedShort;
-    @Parameter(4)
-    public int expectedShortOne;
-    @Parameter(5)
-    public int expectedInt;
-    @Parameter(6)
-    public int expectedIntOne;
-    @Parameter(7)
-    public int expectedIntMax;
-    @Parameter(8)
-    public int expectedLong;
-    @Parameter(9)
-    public int expectedLongOne;
-    @Parameter(10)
-    public int expectedLongMax;
+    static List<Arguments> testByte() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 96, 97));
+    }
+
+    @ParameterizedTest
+    @MethodSource
+    void testShort(final NormalizedNodeStreamVersion version, final int expectedShort, final int expectedShortOne) {
+        assertSame(version, (short) 0, expectedShort);
+        assertSame(version, (short) 1, expectedShortOne);
+        assertSame(version, Short.MAX_VALUE, expectedShortOne);
+    }
+
+    static List<Arguments> testShort() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 96, 98));
+    }
 
-    @Test
-    public void testByte() {
-        assertSame((byte) 0, expectedByte);
-        assertSame((byte) 1, expectedByteOne);
-        assertSame(Byte.MAX_VALUE, expectedByteOne);
+    @ParameterizedTest
+    @MethodSource
+    void testInt(final NormalizedNodeStreamVersion version, final int expectedInt, final int expectedIntOne,
+            final int expectedIntMax) {
+        assertSame(version, 0, expectedInt);
+        assertSame(version, 1, expectedIntOne);
+        assertSame(version, Integer.MAX_VALUE, expectedIntMax);
     }
 
-    @Test
-    public void testShort() {
-        assertSame((short) 0, expectedShort);
-        assertSame((short) 1, expectedShortOne);
-        assertSame(Short.MAX_VALUE, expectedShortOne);
+    static List<Arguments> testInt() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 96, 98, 100));
     }
 
-    @Test
-    public void testInt() {
-        assertSame(0, expectedInt);
-        assertSame(1, expectedIntOne);
-        assertSame(Integer.MAX_VALUE, expectedIntMax);
+    @ParameterizedTest
+    @MethodSource
+    void testLong(final NormalizedNodeStreamVersion version, final int expectedLong, final int expectedLongOne,
+            final int expectedLongMax) {
+        assertSame(version, 0L, expectedLong);
+        assertSame(version, 1L, expectedLongOne);
+        assertSame(version, Long.MAX_VALUE, expectedLongMax);
     }
 
-    @Test
-    public void testLong() {
-        assertSame(0L, expectedLong);
-        assertSame(1L, expectedLongOne);
-        assertSame(Long.MAX_VALUE, expectedLongMax);
+    static List<Arguments> testLong() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 96, 100, 104));
     }
 }
index c5cedec5795e2b25c6de4fcd64b483841006eb9f..f692fc31d7f5c9fe96f617945c4bf923799d0bb6 100644 (file)
@@ -8,61 +8,61 @@
 package org.opendaylight.yangtools.yang.data.codec.binfmt;
 
 import com.google.common.collect.Maps;
-import java.util.Collections;
-import java.util.Map;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
+import java.util.List;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
 import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
-import org.opendaylight.yangtools.yang.data.api.schema.builder.DataContainerNodeBuilder;
 import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
 
-@RunWith(Parameterized.class)
-public class MapEntrySerializationTest extends AbstractSerializationTest {
-    @Parameters(name = "{0}")
-    public static Iterable<Object[]> data() {
-        return Collections.singletonList(
-            new Object[] { NormalizedNodeStreamVersion.POTASSIUM, 96, 110, 125, 3_927 });
+class MapEntrySerializationTest extends AbstractSerializationTest {
+    @ParameterizedTest
+    @MethodSource
+    void testEmptyIdentifier(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, createEntry(0), size);
     }
 
-    @Parameter(1)
-    public int emptySize;
-    @Parameter(2)
-    public int oneSize;
-    @Parameter(3)
-    public int twoSize;
-    @Parameter(4)
-    public int size256;
+    static List<Arguments> testEmptyIdentifier() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 96));
+    }
+
+    @ParameterizedTest
+    @MethodSource
+    void testOneIdentifier(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, createEntry(1), size);
+    }
+
+    static List<Arguments> testOneIdentifier() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 110));
+    }
 
-    @Test
-    public void testEmptyIdentifier() {
-        assertEquals(createEntry(0), emptySize);
+    @ParameterizedTest
+    @MethodSource
+    void testTwoIdentifiers(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, createEntry(2), size);
     }
 
-    @Test
-    public void testOneIdentifier() {
-        assertEquals(createEntry(1), oneSize);
+    static List<Arguments> testTwoIdentifiers() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 125));
     }
 
-    @Test
-    public void testTwoIdentifiers() {
-        assertEquals(createEntry(2), twoSize);
+    @ParameterizedTest
+    @MethodSource
+    void test256(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, createEntry(256), size);
     }
 
-    @Test
-    public void test256() {
-        assertEquals(createEntry(256), size256);
+    static List<Arguments> test256() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 3_927));
     }
 
     private static MapEntryNode createEntry(final int size) {
-        final DataContainerNodeBuilder<NodeIdentifierWithPredicates, MapEntryNode> builder = Builders.mapEntryBuilder();
-        final Map<QName, Object> predicates = Maps.newHashMapWithExpectedSize(size);
-        for (QName qname : generateQNames(size)) {
+        final var builder = Builders.mapEntryBuilder();
+        final var predicates = Maps.<QName, Object>newHashMapWithExpectedSize(size);
+        for (var qname : generateQNames(size)) {
             builder.withChild(ImmutableNodes.leafNode(qname, "a"));
             predicates.put(qname, "a");
         }
index ffc83714d4792d87bd4e09fb0beb515e3e56b626..cae1a1fb50160edab9a97a6cb9e76899695fa844 100644 (file)
@@ -11,76 +11,83 @@ import com.google.common.collect.Maps;
 import com.google.common.io.ByteStreams;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
-import java.util.Collections;
-import java.util.Map;
-import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
+import java.util.List;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
 
-@RunWith(Parameterized.class)
-public class NipSerializationTest extends AbstractSerializationTest {
-    @Parameters(name = "{0}")
-    public static Iterable<Object[]> data() {
-        return Collections.singletonList(
-            new Object[] { NormalizedNodeStreamVersion.POTASSIUM, 95, 107, 155, 252, 3_409, 982_867, 1_443_164 });
+class NipSerializationTest extends AbstractSerializationTest {
+    @ParameterizedTest
+    @MethodSource
+    void testEmptyIdentifier(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, createIdentifier(0), size);
     }
 
-    @Parameter(1)
-    public int emptySize;
-    @Parameter(2)
-    public int oneSize;
-    @Parameter(3)
-    public int size5;
-    @Parameter(4)
-    public int size13;
-    @Parameter(5)
-    public int size256;
-    @Parameter(6)
-    public int size65792;
-    @Parameter(7)
-    public int twiceSize65792;
-
-    @Test
-    public void testEmptyIdentifier() {
-        assertEquals(createIdentifier(0), emptySize);
+    static List<Arguments> testEmptyIdentifier() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 95));
     }
 
-    @Test
-    public void testOneIdentifier() {
-        assertEquals(createIdentifier(1), oneSize);
+    @ParameterizedTest
+    @MethodSource
+    void testOneIdentifier(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, createIdentifier(1), size);
     }
 
-    @Test
-    public void test5() {
-        assertEquals(createIdentifier(5), size5);
+    static List<Arguments> testOneIdentifier() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 107));
     }
 
-    @Test
-    public void test13() {
-        assertEquals(createIdentifier(13), size13);
+    @ParameterizedTest
+    @MethodSource
+    void test5(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, createIdentifier(5), size);
     }
 
-    @Test
-    public void test256() {
-        assertEquals(createIdentifier(256), size256);
+    static List<Arguments> test5() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 155));
     }
 
-    @Test
-    public void test65536() {
-        assertEquals(createIdentifier(65792), size65792);
+    @ParameterizedTest
+    @MethodSource
+    void test13(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, createIdentifier(13), size);
+    }
+
+    static List<Arguments> test13() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 252));
+    }
+
+    @ParameterizedTest
+    @MethodSource
+    void test256(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, createIdentifier(256), size);
     }
 
-    @Test
-    public void testTwice65792() {
-        final NodeIdentifierWithPredicates nip = createIdentifier(65792);
 
-        final ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        try (NormalizedNodeDataOutput nnout = version.newDataOutput(ByteStreams.newDataOutput(baos))) {
+    static List<Arguments> test256() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 3_409));
+    }
+
+    @ParameterizedTest
+    @MethodSource
+    void test65792(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, createIdentifier(65792), size);
+    }
+
+    static List<Arguments> test65792() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 982_867));
+    }
+
+    @ParameterizedTest
+    @MethodSource
+    void testTwice65792(final NormalizedNodeStreamVersion version, final int size) {
+        final var nip = createIdentifier(65792);
+
+        final var baos = new ByteArrayOutputStream();
+        try (var nnout = version.newDataOutput(ByteStreams.newDataOutput(baos))) {
             nnout.writePathArgument(nip);
             nnout.writePathArgument(nip);
         } catch (IOException e) {
@@ -88,20 +95,24 @@ public class NipSerializationTest extends AbstractSerializationTest {
         }
 
         final byte[] bytes = baos.toByteArray();
-        Assert.assertEquals(twiceSize65792, bytes.length);
+        Assertions.assertEquals(size, bytes.length);
 
         try {
-            final NormalizedNodeDataInput input = NormalizedNodeDataInput.newDataInput(ByteStreams.newDataInput(bytes));
-            Assert.assertEquals(nip, input.readPathArgument());
-            Assert.assertEquals(nip, input.readPathArgument());
+            final var input = NormalizedNodeDataInput.newDataInput(ByteStreams.newDataInput(bytes));
+            Assertions.assertEquals(nip, input.readPathArgument());
+            Assertions.assertEquals(nip, input.readPathArgument());
         } catch (IOException e) {
             throw new AssertionError("Failed to deserialize", e);
         }
     }
 
+    static List<Arguments> testTwice65792() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 1_443_164));
+    }
+
     private static NodeIdentifierWithPredicates createIdentifier(final int size) {
-        final Map<QName, Object> predicates = Maps.newHashMapWithExpectedSize(size);
-        for (QName qname : generateQNames(size)) {
+        final var predicates = Maps.<QName, Object>newHashMapWithExpectedSize(size);
+        for (var qname : generateQNames(size)) {
             predicates.put(qname, "a");
         }
         return NodeIdentifierWithPredicates.of(TestModel.TEST_QNAME, predicates);
index da6645533ec1dcf12c70f17e7ae6f55121415c5c..23450c11e3e081bd8c4441fb30be57d5d17cdd04 100644 (file)
@@ -12,36 +12,34 @@ import static org.mockito.Mockito.doCallRealMethod;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.verify;
 
-import java.io.IOException;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.extension.ExtendWith;
 import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
+import org.mockito.junit.jupiter.MockitoExtension;
 import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
 
-@RunWith(MockitoJUnitRunner.StrictStubs.class)
-public class NormalizedNodeDataOutputTest {
+@ExtendWith(MockitoExtension.class)
+class NormalizedNodeDataOutputTest {
     @Mock
-    public NormalizedNodeDataOutput output;
+    private NormalizedNodeDataOutput output;
 
-    @Before
-    public void before() throws IOException {
+    @BeforeEach
+    void before() throws Exception {
         doCallRealMethod().when(output).writeOptionalNormalizedNode(any());
     }
 
     @Test
-    public void testWriteOptionalNormalizedNodeAbsent() throws IOException {
+    void testWriteOptionalNormalizedNodeAbsent() throws Exception {
         doNothing().when(output).writeBoolean(false);
         output.writeOptionalNormalizedNode(null);
         verify(output).writeBoolean(false);
     }
 
     @Test
-    public void testWriteOptionalNormalizedNodePresent() throws IOException {
-        final ContainerNode node = ImmutableNodes.containerNode(QName.create("test", "test"));
+    void testWriteOptionalNormalizedNodePresent() throws Exception {
+        final var node = ImmutableNodes.containerNode(QName.create("test", "test"));
         doNothing().when(output).writeBoolean(true);
         doNothing().when(output).writeNormalizedNode(node);
         output.writeOptionalNormalizedNode(node);
index faf038e422fa4cc53f7f8c265974b84a1a835aeb..75be56533bff27badad909a253d78e5d5eeb9899 100644 (file)
@@ -19,19 +19,16 @@ import java.io.ObjectOutputStream;
 import java.io.Serializable;
 import java.io.StringReader;
 import java.io.StringWriter;
-import java.util.Collections;
-import java.util.Optional;
+import java.util.List;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
 import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 import org.opendaylight.yangtools.yang.common.Empty;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
@@ -40,69 +37,46 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdent
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
 import org.opendaylight.yangtools.yang.data.api.schema.DOMSourceAnyxmlNode;
-import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
-import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-import org.opendaylight.yangtools.yang.data.api.schema.SystemMapNode;
 import org.opendaylight.yangtools.yang.data.impl.schema.Builders;
 import org.opendaylight.yangtools.yang.data.impl.schema.ImmutableNodes;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
-import org.w3c.dom.Node;
 import org.xml.sax.InputSource;
 
-@RunWith(Parameterized.class)
-public class NormalizedNodeStreamReaderWriterTest {
-    @Parameters(name = "{0} {1}")
-    public static Iterable<Object[]> data() {
-        return Collections.singletonList(
-            new Object[] { NormalizedNodeStreamVersion.POTASSIUM, 1_049_587, 2_289_103, 139, 794, 103, 229, 99 });
-    }
-
-    @Parameter(0)
-    public NormalizedNodeStreamVersion version;
-    @Parameter(1)
-    public int normalizedNodeStreamingSize;
-    @Parameter(2)
-    public int hugeEntriesSize;
-    @Parameter(3)
-    public int yiidStreamingSize;
-    @Parameter(4)
-    public int nnYiidStreamingSize;
-    @Parameter(5)
-    public int writePathArgumentSize;
-    @Parameter(6)
-    public int anyxmlStreamingSize;
-    @Parameter(7)
-    public int schemaPathSize;
-
-    @Test
-    public void testNormalizedNodeStreaming() throws IOException {
-        ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        NormalizedNodeDataOutput nnout = version.newDataOutput(ByteStreams.newDataOutput(bos));
+class NormalizedNodeStreamReaderWriterTest {
+    @ParameterizedTest
+    @MethodSource
+    void testNormalizedNodeStreaming(final NormalizedNodeStreamVersion version, final int size) throws Exception {
+        final var bos = new ByteArrayOutputStream();
+        final var nnout = version.newDataOutput(ByteStreams.newDataOutput(bos));
 
-        ContainerNode testContainer = createTestContainer();
+        final var testContainer = createTestContainer();
         nnout.writeNormalizedNode(testContainer);
 
-        QName toaster = QName.create("http://netconfcentral.org/ns/toaster","2009-11-20","toaster");
-        QName darknessFactor = QName.create("http://netconfcentral.org/ns/toaster","2009-11-20","darknessFactor");
-        QName description = QName.create("http://netconfcentral.org/ns/toaster","2009-11-20","description");
-        ContainerNode toasterNode = Builders.containerBuilder().withNodeIdentifier(new NodeIdentifier(toaster))
+        final var toaster = QName.create("http://netconfcentral.org/ns/toaster","2009-11-20","toaster");
+        final var darknessFactor = QName.create("http://netconfcentral.org/ns/toaster","2009-11-20","darknessFactor");
+        final var description = QName.create("http://netconfcentral.org/ns/toaster","2009-11-20","description");
+        final var toasterNode = Builders.containerBuilder().withNodeIdentifier(new NodeIdentifier(toaster))
                 .withChild(ImmutableNodes.leafNode(darknessFactor, "1000"))
                 .withChild(ImmutableNodes.leafNode(description, largeString(20))).build();
 
-        ContainerNode toasterContainer = Builders.containerBuilder()
+        final var toasterContainer = Builders.containerBuilder()
                 .withNodeIdentifier(new NodeIdentifier(SchemaContext.NAME)).withChild(toasterNode).build();
         nnout.writeNormalizedNode(toasterContainer);
 
         final byte[] bytes = bos.toByteArray();
-        assertEquals(normalizedNodeStreamingSize, bytes.length);
+        assertEquals(size, bytes.length);
 
-        NormalizedNodeDataInput nnin = NormalizedNodeDataInput.newDataInput(ByteStreams.newDataInput(bytes));
+        final var nnin = NormalizedNodeDataInput.newDataInput(ByteStreams.newDataInput(bytes));
 
         assertEquals(testContainer, nnin.readNormalizedNode());
         assertEquals(toasterContainer, nnin.readNormalizedNode());
     }
 
+    static List<Arguments> testNormalizedNodeStreaming() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 1_049_587));
+    }
+
     private static ContainerNode createTestContainer() {
         final byte[] bytes1 = {1, 2, 3};
         final byte[] bytes2 = {};
@@ -128,73 +102,90 @@ public class NormalizedNodeStreamReaderWriterTest {
             .build();
     }
 
-    @Test
-    public void testYangInstanceIdentifierStreaming() throws IOException  {
-        YangInstanceIdentifier path = YangInstanceIdentifier.builder(TestModel.TEST_PATH)
-                .node(TestModel.OUTER_LIST_QNAME).nodeWithKey(
-                        TestModel.INNER_LIST_QNAME, TestModel.ID_QNAME, 10).build();
+    @ParameterizedTest
+    @MethodSource
+    void testYangInstanceIdentifierStreaming(final NormalizedNodeStreamVersion version, final int size)
+            throws Exception {
+        final var path = YangInstanceIdentifier.builder(TestModel.TEST_PATH).node(TestModel.OUTER_LIST_QNAME)
+            .nodeWithKey(TestModel.INNER_LIST_QNAME, TestModel.ID_QNAME, 10).build();
 
-        ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        NormalizedNodeDataOutput nnout = version.newDataOutput(ByteStreams.newDataOutput(bos));
+        final var bos = new ByteArrayOutputStream();
+        final var nnout = version.newDataOutput(ByteStreams.newDataOutput(bos));
 
         nnout.writeYangInstanceIdentifier(path);
 
         final byte[] bytes = bos.toByteArray();
-        assertEquals(yiidStreamingSize, bytes.length);
+        assertEquals(size, bytes.length);
 
-        NormalizedNodeDataInput nnin = NormalizedNodeDataInput.newDataInput(ByteStreams.newDataInput(bytes));
+        final var nnin = NormalizedNodeDataInput.newDataInput(ByteStreams.newDataInput(bytes));
         assertEquals(path, nnin.readYangInstanceIdentifier());
     }
 
-    @Test
-    public void testNormalizedNodeAndYangInstanceIdentifierStreaming() throws IOException {
-        final NormalizedNode testContainer = TestModel.createBaseTestContainerBuilder().build();
-        final YangInstanceIdentifier path = YangInstanceIdentifier.builder(TestModel.TEST_PATH)
+    static List<Arguments> testYangInstanceIdentifierStreaming() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 139));
+    }
+
+    @ParameterizedTest
+    @MethodSource
+    void testNormalizedNodeAndYangInstanceIdentifierStreaming(final NormalizedNodeStreamVersion version, final int size)
+            throws Exception {
+        final var testContainer = TestModel.createBaseTestContainerBuilder().build();
+        final var path = YangInstanceIdentifier.builder(TestModel.TEST_PATH)
             .node(TestModel.OUTER_LIST_QNAME)
             .nodeWithKey(TestModel.INNER_LIST_QNAME, TestModel.ID_QNAME, 10)
             .build();
 
-        final ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        try (NormalizedNodeDataOutput writer = version.newDataOutput(ByteStreams.newDataOutput(bos))) {
+        final var bos = new ByteArrayOutputStream();
+        try (var writer = version.newDataOutput(ByteStreams.newDataOutput(bos))) {
             writer.writeNormalizedNode(testContainer);
             writer.writeYangInstanceIdentifier(path);
         }
 
         final byte[] bytes = bos.toByteArray();
-        assertEquals(nnYiidStreamingSize, bytes.length);
+        assertEquals(size, bytes.length);
 
-        final NormalizedNodeDataInput reader = NormalizedNodeDataInput.newDataInput(ByteStreams.newDataInput(bytes));
+        final var reader = NormalizedNodeDataInput.newDataInput(ByteStreams.newDataInput(bytes));
         assertEquals(testContainer, reader.readNormalizedNode());
         assertEquals(path, reader.readYangInstanceIdentifier());
     }
 
+    static List<Arguments> testNormalizedNodeAndYangInstanceIdentifierStreaming() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 794));
+    }
+
     @Test
-    public void testInvalidNormalizedNodeStream() throws IOException {
-        final InvalidNormalizedNodeStreamException ex = assertThrows(InvalidNormalizedNodeStreamException.class,
+    void testInvalidNormalizedNodeStream() throws Exception {
+        final var ex = assertThrows(InvalidNormalizedNodeStreamException.class,
             () -> NormalizedNodeDataInput.newDataInput(ByteStreams.newDataInput(new byte[] { 1, 2, 3})));
         assertEquals("Invalid signature marker: 1", ex.getMessage());
     }
 
-    @Test
-    public void testWithSerializable() {
-        NormalizedNode input = TestModel.createTestContainer();
-        SampleNormalizedNodeSerializable serializable = new SampleNormalizedNodeSerializable(version, input);
-        SampleNormalizedNodeSerializable clone = clone(serializable);
+    @ParameterizedTest
+    @MethodSource
+    void testWithSerializable(final NormalizedNodeStreamVersion version) {
+        var input = TestModel.createTestContainer();
+        var serializable = new SampleNormalizedNodeSerializable(version, input);
+        var clone = clone(serializable);
         assertEquals(input, clone.getInput());
     }
 
-    @Test
-    public void testAnyXmlStreaming() throws Exception {
-        String xml = "<foo xmlns=\"http://www.w3.org/TR/html4/\" x=\"123\"><bar>one</bar><bar>two</bar></foo>";
+    static List<Arguments> testWithSerializable() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM));
+    }
+
+    @ParameterizedTest
+    @MethodSource
+    void testAnyXmlStreaming(final NormalizedNodeStreamVersion version, final int size) throws Exception {
+        var xml = "<foo xmlns=\"http://www.w3.org/TR/html4/\" x=\"123\"><bar>one</bar><bar>two</bar></foo>";
         final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
         factory.setNamespaceAware(true);
 
-        Node xmlNode = factory.newDocumentBuilder().parse(
+        final var xmlNode = factory.newDocumentBuilder().parse(
                 new InputSource(new StringReader(xml))).getDocumentElement();
 
         assertEquals("http://www.w3.org/TR/html4/", xmlNode.getNamespaceURI());
 
-        ContainerNode anyXmlContainer = Builders.containerBuilder()
+        final var anyXmlContainer = Builders.containerBuilder()
             .withNodeIdentifier(new NodeIdentifier(TestModel.TEST_QNAME))
             .withChild(Builders.anyXmlBuilder()
                 .withNodeIdentifier(new NodeIdentifier(TestModel.ANY_XML_QNAME))
@@ -202,23 +193,23 @@ public class NormalizedNodeStreamReaderWriterTest {
                 .build())
             .build();
 
-        ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        NormalizedNodeDataOutput nnout = version.newDataOutput(ByteStreams.newDataOutput(bos));
+        final var bos = new ByteArrayOutputStream();
+        final var nnout = version.newDataOutput(ByteStreams.newDataOutput(bos));
 
         nnout.writeNormalizedNode(anyXmlContainer);
 
         final byte[] bytes = bos.toByteArray();
-        assertEquals(anyxmlStreamingSize, bytes.length);
+        assertEquals(size, bytes.length);
 
-        NormalizedNodeDataInput nnin = NormalizedNodeDataInput.newDataInput(ByteStreams.newDataInput(bytes));
+        final var nnin = NormalizedNodeDataInput.newDataInput(ByteStreams.newDataInput(bytes));
 
-        ContainerNode deserialized = (ContainerNode)nnin.readNormalizedNode();
+        final var deserialized = (ContainerNode)nnin.readNormalizedNode();
 
-        Optional<DataContainerChild> child = deserialized.findChildByArg(new NodeIdentifier(TestModel.ANY_XML_QNAME));
+        final var child = deserialized.findChildByArg(new NodeIdentifier(TestModel.ANY_XML_QNAME));
         assertEquals("AnyXml child present", true, child.isPresent());
 
-        StreamResult xmlOutput = new StreamResult(new StringWriter());
-        Transformer transformer = TransformerFactory.newInstance().newTransformer();
+        final var xmlOutput = new StreamResult(new StringWriter());
+        final var transformer = TransformerFactory.newInstance().newTransformer();
         transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
         transformer.transform(((DOMSourceAnyxmlNode)child.orElseThrow()).body(), xmlOutput);
 
@@ -227,45 +218,58 @@ public class NormalizedNodeStreamReaderWriterTest {
             ((DOMSourceAnyxmlNode)child.orElseThrow()).body().getNode().getNamespaceURI());
     }
 
-    @Test
-    public void testSchemaPathSerialization() throws IOException {
-        final Absolute expected = Absolute.of(TestModel.ANY_XML_QNAME);
+    static List<Arguments> testAnyXmlStreaming() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 229));
+    }
 
-        ByteArrayOutputStream bos = new ByteArrayOutputStream();
-        try (NormalizedNodeDataOutput nnout = version.newDataOutput(ByteStreams.newDataOutput(bos))) {
+    @ParameterizedTest
+    @MethodSource
+    void testSchemaPathSerialization(final NormalizedNodeStreamVersion version, final int size) throws Exception {
+        final var expected = Absolute.of(TestModel.ANY_XML_QNAME);
+
+        final var bos = new ByteArrayOutputStream();
+        try (var nnout = version.newDataOutput(ByteStreams.newDataOutput(bos))) {
             nnout.writeSchemaNodeIdentifier(expected);
         }
 
         final byte[] bytes = bos.toByteArray();
-        assertEquals(schemaPathSize, bytes.length);
+        assertEquals(size, bytes.length);
 
-        NormalizedNodeDataInput nnin = NormalizedNodeDataInput.newDataInput(ByteStreams.newDataInput(bytes));
+        var nnin = NormalizedNodeDataInput.newDataInput(ByteStreams.newDataInput(bytes));
         assertEquals(expected, nnin.readSchemaNodeIdentifier());
     }
 
-    @Test
-    public void testWritePathArgument() throws IOException {
-        final NodeIdentifier expected = new NodeIdentifier(TestModel.BOOLEAN_LEAF_QNAME);
-
-        ByteArrayOutputStream bos = new ByteArrayOutputStream();
+    static List<Arguments> testSchemaPathSerialization() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 99));
+    }
 
-        try (NormalizedNodeDataOutput nnout = version.newDataOutput(ByteStreams.newDataOutput(bos))) {
+    @ParameterizedTest
+    @MethodSource
+    void testWritePathArgument(final NormalizedNodeStreamVersion version, final int size) throws Exception {
+        final var expected = new NodeIdentifier(TestModel.BOOLEAN_LEAF_QNAME);
+        final var bos = new ByteArrayOutputStream();
+        try (var nnout = version.newDataOutput(ByteStreams.newDataOutput(bos))) {
             nnout.writePathArgument(expected);
         }
 
         final byte[] bytes = bos.toByteArray();
-        assertEquals(writePathArgumentSize, bytes.length);
+        assertEquals(size, bytes.length);
 
-        NormalizedNodeDataInput nnin = NormalizedNodeDataInput.newDataInput(ByteStreams.newDataInput(bytes));
+        final var nnin = NormalizedNodeDataInput.newDataInput(ByteStreams.newDataInput(bytes));
         assertEquals(expected, nnin.readPathArgument());
     }
 
+    static List<Arguments> testWritePathArgument() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 103));
+    }
+
     /*
      * This tests the encoding of a MapNode with a lot of entries, each of them having the key leaf (a string)
      * and an integer.
      */
-    @Test
-    public void testHugeEntries() throws IOException {
+    @ParameterizedTest
+    @MethodSource
+    void testHugeEntries(final NormalizedNodeStreamVersion version, final int size) throws Exception {
         final var mapBuilder = Builders.mapBuilder().withNodeIdentifier(new NodeIdentifier(TestModel.TEST_QNAME));
         final var entryBuilder = Builders.mapEntryBuilder()
             .withChild(ImmutableNodes.leafNode(TestModel.DESC_QNAME, (byte) 42));
@@ -279,30 +283,34 @@ public class NormalizedNodeStreamReaderWriterTest {
                 .build());
         }
 
-        final SystemMapNode expected = mapBuilder.build();
-        final ByteArrayOutputStream bos = new ByteArrayOutputStream();
+        final var expected = mapBuilder.build();
+        final var bos = new ByteArrayOutputStream();
 
-        try (NormalizedNodeDataOutput nnout = version.newDataOutput(ByteStreams.newDataOutput(bos))) {
+        try (var nnout = version.newDataOutput(ByteStreams.newDataOutput(bos))) {
             nnout.writeNormalizedNode(expected);
         }
 
         final byte[] bytes = bos.toByteArray();
-        assertEquals(hugeEntriesSize, bytes.length);
+        assertEquals(size, bytes.length);
 
-        NormalizedNodeDataInput nnin = NormalizedNodeDataInput.newDataInput(ByteStreams.newDataInput(bytes));
+        var nnin = NormalizedNodeDataInput.newDataInput(ByteStreams.newDataInput(bytes));
         assertEquals(expected, nnin.readNormalizedNode());
     }
 
+    static List<Arguments> testHugeEntries() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 2_289_103));
+    }
+
     private static <T extends Serializable> T clone(final T obj) {
-        final ByteArrayOutputStream baos = new ByteArrayOutputStream(512);
-        try (ObjectOutputStream oos = new ObjectOutputStream(baos)) {
+        final var baos = new ByteArrayOutputStream(512);
+        try (var oos = new ObjectOutputStream(baos)) {
             oos.writeObject(obj);
         } catch (IOException e) {
             throw new AssertionError("Failed to serialize object", e);
         }
 
         final byte[] bytes = baos.toByteArray();
-        try (ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bytes))) {
+        try (var ois = new ObjectInputStream(new ByteArrayInputStream(bytes))) {
             return (T) ois.readObject();
         } catch (ClassNotFoundException | IOException e) {
             throw new AssertionError("Failed to deserialize object", e);
@@ -310,7 +318,7 @@ public class NormalizedNodeStreamReaderWriterTest {
     }
 
     private static String largeString(final int pow) {
-        StringBuilder sb = new StringBuilder("X");
+        final var sb = new StringBuilder("X");
         for (int i = 0; i < pow; i++) {
             sb.append(sb);
         }
index cdc0a8fab7890aeae801bb1c95ed671a0de1bc07..96043071399227660c31894e1627910e8d62a3a9 100644 (file)
@@ -7,23 +7,23 @@
  */
 package org.opendaylight.yangtools.yang.data.codec.binfmt;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertSame;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotSame;
+import static org.junit.jupiter.api.Assertions.assertSame;
 
-import org.junit.Test;
+import org.junit.jupiter.api.Test;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.Revision;
 
-public class QNameFactoryTest {
+class QNameFactoryTest {
     @Test
-    public void testBasic() {
-        QName expected = TestModel.AUG_NAME_QNAME;
-        QName created = lookup(expected);
+    void testBasic() {
+        var expected = TestModel.AUG_NAME_QNAME;
+        var created = lookup(expected);
         assertNotSame(expected, created);
         assertEquals(expected, created);
 
-        QName cached = lookup(expected);
+        var cached = lookup(expected);
         assertSame(created, cached);
     }
 
index 71784c95264bdc55e26e78905e3a98ed66d7631b..516a9758826f893ab9aaf15a49adf9ef164b3256 100644 (file)
@@ -15,28 +15,30 @@ import java.io.ObjectOutputStream;
 import java.io.Serializable;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 
-public class SampleNormalizedNodeSerializable implements Serializable {
+class SampleNormalizedNodeSerializable implements Serializable {
+    @java.io.Serial
     private static final long serialVersionUID = 1L;
 
     private transient NormalizedNodeStreamVersion version;
     private NormalizedNode input;
 
-    public SampleNormalizedNodeSerializable(final NormalizedNodeStreamVersion version,
-            final NormalizedNode input) {
+    SampleNormalizedNodeSerializable(final NormalizedNodeStreamVersion version, final NormalizedNode input) {
         this.version = requireNonNull(version);
         this.input = input;
     }
 
-    public NormalizedNode getInput() {
+    NormalizedNode getInput() {
         return input;
     }
 
+    @java.io.Serial
     private void readObject(final ObjectInputStream stream) throws IOException {
-        final NormalizedNodeDataInput in = NormalizedNodeDataInput.newDataInput(stream);
-        this.input = in.readNormalizedNode();
-        this.version = in.getVersion();
+        final var in = NormalizedNodeDataInput.newDataInput(stream);
+        input = in.readNormalizedNode();
+        version = in.getVersion();
     }
 
+    @java.io.Serial
     private void writeObject(final ObjectOutputStream stream) throws IOException {
         version.newDataOutput(stream).writeNormalizedNode(input);
     }
index 95fcf4f3701b9bbf6d8615aa20db0d1a9f892c90..23fe02fc0328121110bd0b46b31fb97091f1ca0d 100644 (file)
@@ -7,50 +7,52 @@
  */
 package org.opendaylight.yangtools.yang.data.codec.binfmt;
 
-import java.util.Collections;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
-
-@RunWith(Parameterized.class)
-public class StringSerializationTest extends AbstractSerializationTest {
+import java.util.List;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
+
+class StringSerializationTest extends AbstractSerializationTest {
     private static final String STR_MEDIUM = "a".repeat(32767);
     private static final String STR_HUGE = "©".repeat(16777216);
 
-    @Parameters(name = "{0}")
-    public static Iterable<Object[]> data() {
-        return Collections.singletonList(
-            new Object[] { NormalizedNodeStreamVersion.POTASSIUM, 96, 99, 32_865, 33_554_532 });
+    @ParameterizedTest
+    @MethodSource
+    void testEmptySame(final NormalizedNodeStreamVersion version, final int size) {
+        assertSame(version, "", size);
+    }
+
+    static List<Arguments> testEmptySame() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 96));
     }
 
-    @Parameter(1)
-    public int emptySize;
-    @Parameter(2)
-    public int oneSize;
-    @Parameter(3)
-    public int mediumSize;
-    @Parameter(4)
-    public int hugeSize;
+    @ParameterizedTest
+    @MethodSource
+    public void testOne(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, "a", size);
+    }
+
+    static List<Arguments> testOne() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 99));
+    }
 
-    @Test
-    public void testEmptySame() {
-        assertSame("", emptySize);
+    @ParameterizedTest
+    @MethodSource
+    void testMedium(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, STR_MEDIUM, size);
     }
 
-    @Test
-    public void testOne() {
-        assertEquals("a", oneSize);
+    static List<Arguments> testMedium() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 32_865));
     }
 
-    @Test
-    public void testMedium() {
-        assertEquals(STR_MEDIUM, mediumSize);
+    @ParameterizedTest
+    @MethodSource
+    void testHuge(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, STR_HUGE, size);
     }
 
-    @Test
-    public void testHuge() {
-        assertEquals(STR_HUGE, hugeSize);
+    static List<Arguments> testHuge() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 33_554_532));
     }
 }
index 5411aed51c28b8be39adc70f6f4c0006fa113c45..cd1a1e861d7481076aad628ed53681f57092334b 100644 (file)
@@ -7,48 +7,47 @@
  */
 package org.opendaylight.yangtools.yang.data.codec.binfmt;
 
-import java.util.Collections;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
+import java.util.List;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 import org.opendaylight.yangtools.yang.common.Uint16;
 import org.opendaylight.yangtools.yang.common.Uint32;
 import org.opendaylight.yangtools.yang.common.Uint64;
 import org.opendaylight.yangtools.yang.common.Uint8;
 
-@RunWith(Parameterized.class)
-public class UintSerializationTest extends AbstractSerializationTest {
-    @Parameters(name = "{0}")
-    public static Iterable<Object[]> data() {
-        return Collections.singletonList(
-            new Object[] { NormalizedNodeStreamVersion.POTASSIUM });
+class UintSerializationTest extends AbstractSerializationTest {
+    @ParameterizedTest
+    @MethodSource("versions")
+    void testUint8(final NormalizedNodeStreamVersion version) {
+        assertSame(version, Uint8.ZERO, 96);
+        assertSame(version, Uint8.ONE, 97);
     }
 
-    @Test
-    public void testUint8() {
-        assertSame(Uint8.ZERO, 96);
-        assertSame(Uint8.ONE, 97);
+    @ParameterizedTest
+    @MethodSource("versions")
+    void testUint16(final NormalizedNodeStreamVersion version) {
+        assertSame(version, Uint16.ZERO, 96);
+        assertSame(version, Uint16.ONE, 98);
     }
 
-    @Test
-    public void testUint16() {
-        assertSame(Uint16.ZERO, 96);
-        assertSame(Uint16.ONE, 98);
+    @ParameterizedTest
+    @MethodSource("versions")
+    void testUint32(final NormalizedNodeStreamVersion version) {
+        assertSame(version, Uint32.ZERO, 96);
+        assertSame(version, Uint32.ONE, 98);
+        assertEquals(version, Uint32.MAX_VALUE, 100);
     }
 
-    @Test
-    public void testUint32() {
-        assertSame(Uint32.ZERO, 96);
-        assertSame(Uint32.ONE, 98);
-        assertEquals(Uint32.MAX_VALUE, 100);
+    @ParameterizedTest
+    @MethodSource("versions")
+    void testUint64(final NormalizedNodeStreamVersion version) {
+        assertSame(version, Uint64.ZERO, 96);
+        assertSame(version, Uint64.ONE, 100);
+        assertEquals(version, Uint64.MAX_VALUE, 104);
     }
 
-    @Test
-    public void testUint64() {
-        assertSame(Uint64.ZERO, 96);
-        assertSame(Uint64.ONE, 100);
-        assertEquals(Uint64.MAX_VALUE, 104);
+    static List<Arguments> versions() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM));
     }
-
 }
index cf69f2d9062cf9a8af3004caab21ab0de48fbad8..4543a78bdf7594dadf2415678f06ceb0ee508182 100644 (file)
@@ -10,90 +10,86 @@ package org.opendaylight.yangtools.yang.data.codec.binfmt;
 import com.google.common.io.ByteStreams;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
-import java.util.Collections;
-import org.junit.Assert;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameter;
-import org.junit.runners.Parameterized.Parameters;
+import java.util.List;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.InstanceIdentifierBuilder;
-
-@RunWith(Parameterized.class)
-public class YiidSerializationTest extends AbstractSerializationTest {
-    @Parameters(name = "{0}")
-    public static Iterable<Object[]> data() {
-        return Collections.singletonList(
-            new Object[] { NormalizedNodeStreamVersion.POTASSIUM,
-                96, 98, 158, 359, 164, 372, 612, 2_388, 131_684, 719_700, 916_815
-            });
-    }
-
-    @Parameter(1)
-    public int emptySize;
-    @Parameter(2)
-    public int oneSize;
-    @Parameter(3)
-    public int size31;
-    @Parameter(4)
-    public int uniqueSize31;
-    @Parameter(5)
-    public int size32;
-    @Parameter(6)
-    public int uniqueSize32;
-    @Parameter(7)
-    public int size256;
-    @Parameter(8)
-    public int uniqueSize256;
-    @Parameter(9)
-    public int size65792;
-    @Parameter(10)
-    public int uniqueSize65792;
-    @Parameter(11)
-    public int twiceSize65792;
-
-    @Test
-    public void testEmptyIdentifier() {
-        assertSame(YangInstanceIdentifier.of(), emptySize);
-    }
-
-    @Test
-    public void testOneIdentifier() {
-        assertEquals(YangInstanceIdentifier.of(TestModel.TEST_QNAME), oneSize);
-    }
-
-    @Test
-    public void test31() {
-        assertEquals(fillIdentifier(31), size31);
-        assertEquals(fillUniqueIdentifier(31), uniqueSize31);
-    }
-
-    @Test
-    public void test32() {
-        assertEquals(fillIdentifier(32), size32);
-        assertEquals(fillUniqueIdentifier(32), uniqueSize32);
-    }
-
-    @Test
-    public void test256() {
-        assertEquals(fillIdentifier(256), size256);
-        assertEquals(fillUniqueIdentifier(256), uniqueSize256);
-    }
-
-    @Test
-    public void test65792() {
-        assertEquals(fillIdentifier(65792), size65792);
-        assertEquals(fillUniqueIdentifier(65792), uniqueSize65792);
-    }
-
-    @Test
-    public void testTwice65536() {
-        final YangInstanceIdentifier yiid = fillUniqueIdentifier(65792);
-
-        final ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        try (NormalizedNodeDataOutput nnout = version.newDataOutput(ByteStreams.newDataOutput(baos))) {
+
+class YiidSerializationTest extends AbstractSerializationTest {
+    @ParameterizedTest
+    @MethodSource
+    void testEmptyIdentifier(final NormalizedNodeStreamVersion version, final int size) {
+        assertSame(version, YangInstanceIdentifier.of(), size);
+    }
+
+    static List<Arguments> testEmptyIdentifier() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 96));
+    }
+
+    @ParameterizedTest
+    @MethodSource
+    void testOneIdentifier(final NormalizedNodeStreamVersion version, final int size) {
+        assertEquals(version, YangInstanceIdentifier.of(TestModel.TEST_QNAME), size);
+    }
+
+    static List<Arguments> testOneIdentifier() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 98));
+    }
+
+    @ParameterizedTest
+    @MethodSource
+    void test31(final NormalizedNodeStreamVersion version, final int size, final int uniqueSize) {
+        assertEquals(version, fillIdentifier(31), size);
+        assertEquals(version, fillUniqueIdentifier(31), uniqueSize);
+    }
+
+    static List<Arguments> test31() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 158, 359));
+    }
+
+    @ParameterizedTest
+    @MethodSource
+    void test32(final NormalizedNodeStreamVersion version, final int size, final int uniqueSize) {
+        assertEquals(version, fillIdentifier(32), size);
+        assertEquals(version, fillUniqueIdentifier(32), uniqueSize);
+    }
+
+    static List<Arguments> test32() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 164, 372));
+    }
+
+    @ParameterizedTest
+    @MethodSource
+    void test256(final NormalizedNodeStreamVersion version, final int size, final int uniqueSize) {
+        assertEquals(version, fillIdentifier(256), size);
+        assertEquals(version, fillUniqueIdentifier(256), uniqueSize);
+    }
+
+    static List<Arguments> test256() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 612, 2_388));
+    }
+
+    @ParameterizedTest
+    @MethodSource
+    void test65792(final NormalizedNodeStreamVersion version, final int size, final int uniqueSize) {
+        assertEquals(version, fillIdentifier(65792), size);
+        assertEquals(version, fillUniqueIdentifier(65792), uniqueSize);
+    }
+
+    static List<Arguments> test65792() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 131_684, 719_700));
+    }
+
+    @ParameterizedTest
+    @MethodSource
+    void testTwice65536(final NormalizedNodeStreamVersion version, final int size) {
+        final var yiid = fillUniqueIdentifier(65792);
+
+        final var baos = new ByteArrayOutputStream();
+        try (var nnout = version.newDataOutput(ByteStreams.newDataOutput(baos))) {
             nnout.writeYangInstanceIdentifier(yiid);
             nnout.writeYangInstanceIdentifier(yiid);
         } catch (IOException e) {
@@ -101,34 +97,38 @@ public class YiidSerializationTest extends AbstractSerializationTest {
         }
 
         final byte[] bytes = baos.toByteArray();
-        Assert.assertEquals(twiceSize65792, bytes.length);
+        Assertions.assertEquals(size, bytes.length);
 
         try {
-            final NormalizedNodeDataInput input = NormalizedNodeDataInput.newDataInput(ByteStreams.newDataInput(bytes));
-            Assert.assertEquals(yiid, input.readYangInstanceIdentifier());
-            Assert.assertEquals(yiid, input.readYangInstanceIdentifier());
+            final var input = NormalizedNodeDataInput.newDataInput(ByteStreams.newDataInput(bytes));
+            Assertions.assertEquals(yiid, input.readYangInstanceIdentifier());
+            Assertions.assertEquals(yiid, input.readYangInstanceIdentifier());
         } catch (IOException e) {
             throw new AssertionError("Failed to deserialize", e);
         }
     }
 
+    static List<Arguments> testTwice65536() {
+        return List.of(Arguments.of(NormalizedNodeStreamVersion.POTASSIUM, 916_815));
+    }
+
     private static YangInstanceIdentifier fillIdentifier(final int size) {
-        final InstanceIdentifierBuilder builder = YangInstanceIdentifier.builder();
+        final var builder = YangInstanceIdentifier.builder();
         for (int i = 0; i < size; ++i) {
             builder.node(TestModel.TEST_QNAME);
         }
-        final YangInstanceIdentifier ret = builder.build();
-        Assert.assertEquals(size, ret.getPathArguments().size());
+        final var ret = builder.build();
+        Assertions.assertEquals(size, ret.getPathArguments().size());
         return ret;
     }
 
     private static YangInstanceIdentifier fillUniqueIdentifier(final int size) {
-        final InstanceIdentifierBuilder builder = YangInstanceIdentifier.builder();
+        final var builder = YangInstanceIdentifier.builder();
         for (int i = 0; i < size; ++i) {
             builder.node(QName.create(TestModel.TEST_QNAME, "a" + Integer.toHexString(i)));
         }
-        final YangInstanceIdentifier ret = builder.build();
-        Assert.assertEquals(size, ret.getPathArguments().size());
+        final var ret = builder.build();
+        Assertions.assertEquals(size, ret.getPathArguments().size());
         return ret;
     }
 }