From e71e27d02918dc5414e45863c79516678f8bf983 Mon Sep 17 00:00:00 2001 From: FanYuliang Date: Mon, 18 Oct 2021 17:02:41 -0500 Subject: [PATCH 1/5] fix flaky tests in DataFieldConverterTest.java --- .../core/memory/DataFieldConverterTest.java | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/test/java/de/neemann/digital/core/memory/DataFieldConverterTest.java b/src/test/java/de/neemann/digital/core/memory/DataFieldConverterTest.java index 23801ad8d..2c44a283b 100644 --- a/src/test/java/de/neemann/digital/core/memory/DataFieldConverterTest.java +++ b/src/test/java/de/neemann/digital/core/memory/DataFieldConverterTest.java @@ -64,10 +64,10 @@ public void testMarshalObj() { XStream xs = getxStream(); String xml = xs.toXML(new Test(d1, d2)); - assertEquals("" + - "1,4*0,2" + - "3,7*0,4" + - "", xml); + + String case1 = "" + "1,4*0,2" + "3,7*0,4" + ""; + String case2 = "" + "3,7*0,4" + "1,4*0,2" + ""; + assertTrue(Arrays.asList(case1, case2).contains(xml)); } public void testMarshalObj2() { @@ -79,10 +79,10 @@ public void testMarshalObj2() { XStream xs = getxStream(); String xml = xs.toXML(new Test(d1, d2)); - assertEquals("" + - "5*0,2" + - "8*0,4" + - "", xml); + + String case1 = "" + "5*0,2" + "8*0,4" + ""; + String case2 = "" + "8*0,4" + "5*0,2" + ""; + assertTrue(Arrays.asList(case1, case2).contains(xml)); } public void testMarshalObj3() { @@ -97,10 +97,10 @@ public void testMarshalObj3() { XStream xs = getxStream(); String xml = xs.toXML(new Test(d1, d2)); - assertEquals("" + - "11*2" + - "11*1,11*2,11*3,11*4,11*5,11*6,11*7,11*8,11*9,11*a,11*b" + - "", xml); + + String case1 = "" + "11*2" + "11*1,11*2,11*3,11*4,11*5,11*6,11*7,11*8,11*9,11*a,11*b" + ""; + String case2 = "" + "11*1,11*2,11*3,11*4,11*5,11*6,11*7,11*8,11*9,11*a,11*b" + "11*2" + ""; + assertTrue(Arrays.asList(case1, case2).contains(xml)); } public void testUnmarshalObj() { From ce7ced06828358b738cb3ed8e4adf71f247b8a1d Mon Sep 17 00:00:00 2001 From: Yuliang Fan Date: Mon, 18 Oct 2021 22:25:45 -0500 Subject: [PATCH 2/5] Format new XML string to comply with old format --- .../core/memory/DataFieldConverterTest.java | 30 +++++++++++++++---- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/src/test/java/de/neemann/digital/core/memory/DataFieldConverterTest.java b/src/test/java/de/neemann/digital/core/memory/DataFieldConverterTest.java index 2c44a283b..cbbc855a5 100644 --- a/src/test/java/de/neemann/digital/core/memory/DataFieldConverterTest.java +++ b/src/test/java/de/neemann/digital/core/memory/DataFieldConverterTest.java @@ -65,8 +65,14 @@ public void testMarshalObj() { XStream xs = getxStream(); String xml = xs.toXML(new Test(d1, d2)); - String case1 = "" + "1,4*0,2" + "3,7*0,4" + ""; - String case2 = "" + "3,7*0,4" + "1,4*0,2" + ""; + String case1 = "" + + "1,4*0,2" + + "3,7*0,4" + + ""; + String case2 = "" + + "3,7*0,4" + + "1,4*0,2" + + ""; assertTrue(Arrays.asList(case1, case2).contains(xml)); } @@ -80,8 +86,14 @@ public void testMarshalObj2() { XStream xs = getxStream(); String xml = xs.toXML(new Test(d1, d2)); - String case1 = "" + "5*0,2" + "8*0,4" + ""; - String case2 = "" + "8*0,4" + "5*0,2" + ""; + String case1 = "" + + "5*0,2" + + "8*0,4" + + ""; + String case2 = "" + + "8*0,4" + + "5*0,2" + + ""; assertTrue(Arrays.asList(case1, case2).contains(xml)); } @@ -98,8 +110,14 @@ public void testMarshalObj3() { XStream xs = getxStream(); String xml = xs.toXML(new Test(d1, d2)); - String case1 = "" + "11*2" + "11*1,11*2,11*3,11*4,11*5,11*6,11*7,11*8,11*9,11*a,11*b" + ""; - String case2 = "" + "11*1,11*2,11*3,11*4,11*5,11*6,11*7,11*8,11*9,11*a,11*b" + "11*2" + ""; + String case1 = "" + + "11*2" + + "11*1,11*2,11*3,11*4,11*5,11*6,11*7,11*8,11*9,11*a,11*b" + + ""; + String case2 = "" + + "11*1,11*2,11*3,11*4,11*5,11*6,11*7,11*8,11*9,11*a,11*b" + + "11*2" + + ""; assertTrue(Arrays.asList(case1, case2).contains(xml)); } From 5a9ea881f7389cf28386be92ec9deb582edd583d Mon Sep 17 00:00:00 2001 From: FanYuliang Date: Mon, 18 Oct 2021 22:39:56 -0500 Subject: [PATCH 3/5] add java.util.* to header --- .../de/neemann/digital/core/memory/DataFieldConverterTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/de/neemann/digital/core/memory/DataFieldConverterTest.java b/src/test/java/de/neemann/digital/core/memory/DataFieldConverterTest.java index cbbc855a5..4be74ecca 100644 --- a/src/test/java/de/neemann/digital/core/memory/DataFieldConverterTest.java +++ b/src/test/java/de/neemann/digital/core/memory/DataFieldConverterTest.java @@ -8,7 +8,7 @@ import com.thoughtworks.xstream.XStream; import de.neemann.digital.XStreamValid; import junit.framework.TestCase; - +import java.util.*; /** * */ From c24fd8588d6088fc6feb023c0b504574fdf19595 Mon Sep 17 00:00:00 2001 From: FanYuliang Date: Mon, 1 Nov 2021 00:13:09 -0500 Subject: [PATCH 4/5] refactor common parts into checkequals --- .../core/memory/DataFieldConverterTest.java | 52 +++++++++---------- 1 file changed, 24 insertions(+), 28 deletions(-) diff --git a/src/test/java/de/neemann/digital/core/memory/DataFieldConverterTest.java b/src/test/java/de/neemann/digital/core/memory/DataFieldConverterTest.java index 4be74ecca..9e4563bf8 100644 --- a/src/test/java/de/neemann/digital/core/memory/DataFieldConverterTest.java +++ b/src/test/java/de/neemann/digital/core/memory/DataFieldConverterTest.java @@ -8,7 +8,6 @@ import com.thoughtworks.xstream.XStream; import de.neemann.digital.XStreamValid; import junit.framework.TestCase; -import java.util.*; /** * */ @@ -53,6 +52,12 @@ public Test(DataField d1, DataField d2) { } } + void checkEquals(String prefix, String d1, String d2, String suffix, String xml) { + String case1 = prefix + d1 + d2 + suffix; + String case2 = prefix + d2 + d1 + suffix; + assertTrue(case1.equals(xml) || case2.equals(xml)); + } + public void testMarshalObj() { final DataField d1 = new DataField(20); d1.setData(0, 1); @@ -65,15 +70,12 @@ public void testMarshalObj() { XStream xs = getxStream(); String xml = xs.toXML(new Test(d1, d2)); - String case1 = "" + - "1,4*0,2" + - "3,7*0,4" + - ""; - String case2 = "" + - "3,7*0,4" + - "1,4*0,2" + - ""; - assertTrue(Arrays.asList(case1, case2).contains(xml)); + String prefix = ""; + String d1_str = "1,4*0,2"; + String d2_str = "3,7*0,4"; + String suffix = ""; + + checkEquals(prefix, d1_str, d2_str, suffix, xml); } public void testMarshalObj2() { @@ -86,15 +88,12 @@ public void testMarshalObj2() { XStream xs = getxStream(); String xml = xs.toXML(new Test(d1, d2)); - String case1 = "" + - "5*0,2" + - "8*0,4" + - ""; - String case2 = "" + - "8*0,4" + - "5*0,2" + - ""; - assertTrue(Arrays.asList(case1, case2).contains(xml)); + String prefix = ""; + String d1_str = "5*0,2"; + String d2_str = "8*0,4"; + String suffix = ""; + + checkEquals(prefix, d1_str, d2_str, suffix, xml); } public void testMarshalObj3() { @@ -109,16 +108,13 @@ public void testMarshalObj3() { XStream xs = getxStream(); String xml = xs.toXML(new Test(d1, d2)); + + String prefix = ""; + String d1_str = "11*2"; + String d2_str = "11*1,11*2,11*3,11*4,11*5,11*6,11*7,11*8,11*9,11*a,11*b"; + String suffix = ""; - String case1 = "" + - "11*2" + - "11*1,11*2,11*3,11*4,11*5,11*6,11*7,11*8,11*9,11*a,11*b" + - ""; - String case2 = "" + - "11*1,11*2,11*3,11*4,11*5,11*6,11*7,11*8,11*9,11*a,11*b" + - "11*2" + - ""; - assertTrue(Arrays.asList(case1, case2).contains(xml)); + checkEquals(prefix, d1_str, d2_str, suffix, xml); } public void testUnmarshalObj() { From 8b3091889d81f5208aa55601df2b6d0d542959f1 Mon Sep 17 00:00:00 2001 From: FanYuliang Date: Mon, 1 Nov 2021 22:22:56 -0500 Subject: [PATCH 5/5] shortening prefix/suffix and delete empty lines; ready to push --- .../core/memory/DataFieldConverterTest.java | 27 ++++++++----------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/src/test/java/de/neemann/digital/core/memory/DataFieldConverterTest.java b/src/test/java/de/neemann/digital/core/memory/DataFieldConverterTest.java index 9e4563bf8..104531038 100644 --- a/src/test/java/de/neemann/digital/core/memory/DataFieldConverterTest.java +++ b/src/test/java/de/neemann/digital/core/memory/DataFieldConverterTest.java @@ -8,6 +8,7 @@ import com.thoughtworks.xstream.XStream; import de.neemann.digital.XStreamValid; import junit.framework.TestCase; + /** * */ @@ -52,10 +53,12 @@ public Test(DataField d1, DataField d2) { } } - void checkEquals(String prefix, String d1, String d2, String suffix, String xml) { - String case1 = prefix + d1 + d2 + suffix; - String case2 = prefix + d2 + d1 + suffix; - assertTrue(case1.equals(xml) || case2.equals(xml)); + void checkEquals(String d1, String d2, String xml) { + String prefix = ""; + String suffix = ""; + String case1 = prefix + d1 + d2 + suffix; + String case2 = prefix + d2 + d1 + suffix; + assertTrue(case1.equals(xml) || case2.equals(xml)); } public void testMarshalObj() { @@ -70,12 +73,10 @@ public void testMarshalObj() { XStream xs = getxStream(); String xml = xs.toXML(new Test(d1, d2)); - String prefix = ""; + String d1_str = "1,4*0,2"; String d2_str = "3,7*0,4"; - String suffix = ""; - - checkEquals(prefix, d1_str, d2_str, suffix, xml); + checkEquals(d1_str, d2_str, xml); } public void testMarshalObj2() { @@ -88,12 +89,9 @@ public void testMarshalObj2() { XStream xs = getxStream(); String xml = xs.toXML(new Test(d1, d2)); - String prefix = ""; String d1_str = "5*0,2"; String d2_str = "8*0,4"; - String suffix = ""; - - checkEquals(prefix, d1_str, d2_str, suffix, xml); + checkEquals(d1_str, d2_str, xml); } public void testMarshalObj3() { @@ -109,12 +107,9 @@ public void testMarshalObj3() { XStream xs = getxStream(); String xml = xs.toXML(new Test(d1, d2)); - String prefix = ""; String d1_str = "11*2"; String d2_str = "11*1,11*2,11*3,11*4,11*5,11*6,11*7,11*8,11*9,11*a,11*b"; - String suffix = ""; - - checkEquals(prefix, d1_str, d2_str, suffix, xml); + checkEquals(d1_str, d2_str, xml); } public void testUnmarshalObj() {