You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@johnzon.apache.org by rm...@apache.org on 2019/02/09 15:50:31 UTC

[johnzon] 01/03: JOHNZON-199 split unit test to get better feedback for each assert

This is an automated email from the ASF dual-hosted git repository.

rmannibucau pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/johnzon.git

commit 2cf62333dd3877ed014085bcc4c1fb9acc3c7150
Author: Alexander Falb <el...@apache.org>
AuthorDate: Sat Feb 9 13:33:25 2019 +0100

    JOHNZON-199 split unit test to get better feedback for each assert
---
 .../apache/johnzon/mapper/MapperVersionTest.java   | 61 ++++++++++++----------
 1 file changed, 32 insertions(+), 29 deletions(-)

diff --git a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/MapperVersionTest.java b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/MapperVersionTest.java
index aab6355..15c75e3 100644
--- a/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/MapperVersionTest.java
+++ b/johnzon-mapper/src/test/java/org/apache/johnzon/mapper/MapperVersionTest.java
@@ -19,42 +19,45 @@
 package org.apache.johnzon.mapper;
 
 import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
 
 import java.io.StringWriter;
 
 import static org.junit.Assert.assertEquals;
 
+@RunWith(Parameterized.class)
 public class MapperVersionTest {
+
+    private final int mapperVersion;
+    private final String name;
+    private final String expectedJson;
+
+    public MapperVersionTest(int mapperVersion, String name, String expectedJson) {
+        this.mapperVersion = mapperVersion;
+        this.name = name;
+        this.expectedJson = expectedJson;
+    }
+
+    @Parameterized.Parameters(name = "Run {index}: mapperVersion={0}, name={1}, expectedJson={2}")
+    public static Object[][] data() {
+        return new Object[][] {
+                { -1, "foo", "{\"name\":\"foo\"}"},
+                { 0, "foo", "{\"name\":\"foo\"}"},
+                { 1, "foo", "{\"name\":\"foo\"}"},
+                { 2, "foo", "{}"},
+                { 3, "foo", "{}"}
+        };
+    }
+
     @Test
-    public void version() {
-        { // no version
-            final Mapper mapper = new MapperBuilder().build();
-            final Versioned versioned = new Versioned();
-            versioned.name = "foo";
-            final StringWriter writer = new StringWriter();
-            mapper.writeObject(versioned, writer);
-            assertEquals("{\"name\":\"foo\"}", writer.toString());
-        }
-        { // version ko
-            for (int i = 0; i < 2; i++) {
-                final Mapper mapper = new MapperBuilder().setVersion(i).build();
-                final Versioned versioned = new Versioned();
-                versioned.name = "foo";
-                final StringWriter writer = new StringWriter();
-                mapper.writeObject(versioned, writer);
-                assertEquals("{\"name\":\"foo\"}", writer.toString());
-            }
-        }
-        { // version ok
-            for (int i = 2; i < 4; i++) {
-                final Mapper mapper = new MapperBuilder().setVersion(i).build();
-                final Versioned versioned = new Versioned();
-                versioned.name = "foo";
-                final StringWriter writer = new StringWriter();
-                mapper.writeObject(versioned, writer);
-                assertEquals("{}", writer.toString());
-            }
-        }
+    public void test() {
+        final Mapper mapper = new MapperBuilder().setVersion(mapperVersion).build();
+        final Versioned versioned = new Versioned();
+        versioned.name = name;
+        final StringWriter writer = new StringWriter();
+        mapper.writeObject(versioned, writer);
+        assertEquals(expectedJson, writer.toString());
     }
 
     public static class Versioned {