From cba0b7920361dcb76c7e2ab98b066510f18a3888 Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Thu, 29 Sep 2016 14:37:36 +0200 Subject: [PATCH] Reverted bad design choice to add newline in JSONWriter --- src/zutil/parser/json/JSONWriter.java | 1 - .../zutil/parser/json/JSONSerializerTest.java | 29 +++++++++++++++---- 2 files changed, 23 insertions(+), 7 deletions(-) diff --git a/src/zutil/parser/json/JSONWriter.java b/src/zutil/parser/json/JSONWriter.java index 6e00f98..481beb6 100755 --- a/src/zutil/parser/json/JSONWriter.java +++ b/src/zutil/parser/json/JSONWriter.java @@ -143,7 +143,6 @@ public class JSONWriter{ } public void flush(){ - out.print("\n"); out.flush(); } } diff --git a/test/zutil/parser/json/JSONSerializerTest.java b/test/zutil/parser/json/JSONSerializerTest.java index 408fe8b..d75311f 100755 --- a/test/zutil/parser/json/JSONSerializerTest.java +++ b/test/zutil/parser/json/JSONSerializerTest.java @@ -28,9 +28,7 @@ import org.junit.Assert; import org.junit.Test; import zutil.io.StringOutputStream; -import java.io.IOException; -import java.io.Serializable; -import java.io.StringReader; +import java.io.*; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -62,7 +60,7 @@ public class JSONSerializerTest{ TestClass.assertEquals(sourceObj, targetObj); } - + @Test public void testOutputSerializerWithClones() throws InterruptedException, IOException, ClassNotFoundException{ TestClassObjClone sourceObj = new TestClassObjClone().init(); @@ -92,7 +90,7 @@ public class JSONSerializerTest{ data = data.replace("\"", "'"); assertEquals( - "{'@class': 'zutil.parser.json.JSONSerializerTest$TestClassArray', 'array': [1, 2, 3, 4], '@object_id': 1}\n", + "{'@class': 'zutil.parser.json.JSONSerializerTest$TestClassArray', 'array': [1, 2, 3, 4], '@object_id': 1}", data); } @@ -119,7 +117,7 @@ public class JSONSerializerTest{ String data = writeObjectToJson(sourceObj, false); data = data.replace("\"", "'"); assertEquals( - "{'decimal': 0.0}\n", + "{'decimal': 0.0}", data); TestClass targetObj = sendReceiveObject(sourceObj); @@ -156,6 +154,25 @@ public class JSONSerializerTest{ TestClassList.assertEquals(sourceObj, targetObj); } + @Test + public void testSerializerWithMultipleObj() throws InterruptedException, IOException, ClassNotFoundException{ + TestClass sourceObj1 = new TestClass().init(); + TestClass sourceObj2 = new TestClass().init(); + + ByteArrayOutputStream buffer = new ByteArrayOutputStream(); + JSONObjectOutputStream out = new JSONObjectOutputStream(buffer); + out.enableMetaData(false); + out.writeObject(sourceObj1); + out.writeObject(sourceObj2); + out.flush(); + + JSONObjectInputStream in = new JSONObjectInputStream(new ByteArrayInputStream(buffer.toByteArray())); + TestClass targetObj1 = in.readObject(TestClass.class); + TestClass.assertEquals(sourceObj1, targetObj1); + TestClass targetObj2 = in.readObject(TestClass.class); + TestClass.assertEquals(sourceObj2, targetObj2); + } + /******************* Utility Functions ************************************/ public static T sendReceiveObject(T sourceObj) throws IOException{