From 2a691eb9b13b20f16b06bc3e4d925ee9fe4cc414 Mon Sep 17 00:00:00 2001 From: Sebastian Bazley Date: Thu, 8 Mar 2012 02:41:24 +0000 Subject: [PATCH] Fix test failures by clearing out the registry for tests that try to show that the registry is left clean. git-svn-id: https://svn.apache.org/repos/asf/commons/proper/lang/trunk@1298262 13f79535-47bb-0310-9956-ffa450edef68 --- .../lang3/builder/ToStringBuilderTest.java | 29 +++++++++++++------ 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/src/test/java/org/apache/commons/lang3/builder/ToStringBuilderTest.java b/src/test/java/org/apache/commons/lang3/builder/ToStringBuilderTest.java index d50bb8238..d9b03c3f9 100644 --- a/src/test/java/org/apache/commons/lang3/builder/ToStringBuilderTest.java +++ b/src/test/java/org/apache/commons/lang3/builder/ToStringBuilderTest.java @@ -170,7 +170,7 @@ public void testReflectionLongArray() { @Test public void testReflectionIntArray() { - validateNullToStringStyleRegistry(); // Ensure registry starts out empty + emptyToStringStyleRegistry(); // Ensure registry starts out empty int[] array = new int[] { 1, 2, -3, 4 }; String baseStr = this.toBaseString(array); assertEquals(baseStr + "[{1,2,-3,4}]", ToStringBuilder.reflectionToString(array)); @@ -181,7 +181,7 @@ public void testReflectionIntArray() { @Test public void testReflectionShortArray() { - validateNullToStringStyleRegistry(); // Ensure registry starts out empty + emptyToStringStyleRegistry(); // Ensure registry starts out empty short[] array = new short[] { 1, 2, -3, 4 }; String baseStr = this.toBaseString(array); assertEquals(baseStr + "[{1,2,-3,4}]", ToStringBuilder.reflectionToString(array)); @@ -202,7 +202,7 @@ public void testReflectionyteArray() { @Test public void testReflectionCharArray() { - validateNullToStringStyleRegistry(); // Ensure registry starts out empty + emptyToStringStyleRegistry(); // Ensure registry starts out empty char[] array = new char[] { 'A', '2', '_', 'D' }; String baseStr = this.toBaseString(array); assertEquals(baseStr + "[{A,2,_,D}]", ToStringBuilder.reflectionToString(array)); @@ -286,7 +286,7 @@ public void testReflectionhortArrayArray() { @Test public void testReflectionByteArrayArray() { - validateNullToStringStyleRegistry(); // Ensure registry starts out empty + emptyToStringStyleRegistry(); // Ensure registry starts out empty byte[][] array = new byte[][] { { 1, 2 }, null, { 5 } }; String baseStr = this.toBaseString(array); assertEquals(baseStr + "[{{1,2},,{5}}]", ToStringBuilder.reflectionToString(array)); @@ -297,7 +297,7 @@ public void testReflectionByteArrayArray() { @Test public void testReflectionCharArrayArray() { - validateNullToStringStyleRegistry(); // Ensure registry starts out empty + emptyToStringStyleRegistry(); // Ensure registry starts out empty char[][] array = new char[][] { { 'A', 'B' }, null, { 'p' } }; String baseStr = this.toBaseString(array); assertEquals(baseStr + "[{{A,B},,{p}}]", ToStringBuilder.reflectionToString(array)); @@ -552,7 +552,7 @@ public String toString() { */ @Test public void testSimpleReflectionObjectCycle() throws Exception { - validateNullToStringStyleRegistry(); // Ensure registry starts out empty + emptyToStringStyleRegistry(); // Ensure registry starts out empty SimpleReflectionTestFixture simple = new SimpleReflectionTestFixture(); simple.o = simple; assertEquals(this.toBaseString(simple) + "[o=" + this.toBaseString(simple) + "]", simple.toString()); @@ -566,7 +566,7 @@ public void testSimpleReflectionObjectCycle() throws Exception { */ @Test public void testSelfInstanceVarReflectionObjectCycle() throws Exception { - validateNullToStringStyleRegistry(); // Ensure registry starts out empty + emptyToStringStyleRegistry(); // Ensure registry starts out empty SelfInstanceVarReflectionTestFixture test = new SelfInstanceVarReflectionTestFixture(); assertEquals(this.toBaseString(test) + "[typeIsSelf=" + this.toBaseString(test) + "]", test.toString()); this.validateNullToStringStyleRegistry(); @@ -593,7 +593,7 @@ public void testSelfInstanceTwoVarsReflectionObjectCycle() throws Exception { */ @Test public void testReflectionObjectCycle() throws Exception { - validateNullToStringStyleRegistry(); // Ensure registry starts out empty + emptyToStringStyleRegistry(); // Ensure registry starts out empty ReflectionTestCycleA a = new ReflectionTestCycleA(); ReflectionTestCycleB b = new ReflectionTestCycleB(); a.b = b; @@ -633,6 +633,17 @@ public void testReflectionArrayAndObjectCycle() throws Exception { this.validateNullToStringStyleRegistry(); } + private static final Object DUMMY = new Object(); + void emptyToStringStyleRegistry() { + final Map registry = ToStringStyle.getRegistry(); + if (registry == null) { + return; + } + registry.clear(); // empty + ToStringStyle.register(DUMMY); // add key + ToStringStyle.unregister(DUMMY); // remove key and drop registry + } + void validateNullToStringStyleRegistry() { final Map registry = ToStringStyle.getRegistry(); assertNull("Expected null, actual: "+registry, registry); @@ -926,7 +937,7 @@ public void testBooleanArrayArray() { @Test public void testObjectCycle() { - validateNullToStringStyleRegistry(); // Ensure registry starts out empty + emptyToStringStyleRegistry(); // Ensure registry starts out empty ObjectCycle a = new ObjectCycle(); ObjectCycle b = new ObjectCycle(); a.obj = b;