Author: sebb
Date: Thu Mar 8 18:46:34 2012
New Revision: 1298502
URL: http://svn.apache.org/viewvc?rev=1298502&view=rev
Log:
All tests should leave the registry empty
Modified:
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/builder/ToStringBuilderTest.java
Modified:
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/builder/ToStringBuilderTest.java
URL:
http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/builder/ToStringBuilderTest.java?rev=1298502&r1=1298501&r2=1298502&view=diff
==============================================================================
---
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/builder/ToStringBuilderTest.java
(original)
+++
commons/proper/lang/trunk/src/test/java/org/apache/commons/lang3/builder/ToStringBuilderTest.java
Thu Mar 8 18:46:34 2012
@@ -23,6 +23,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.junit.After;
import org.junit.Test;
import org.apache.commons.lang3.SystemUtils;
@@ -37,6 +38,14 @@ public class ToStringBuilderTest {
private final Integer base = Integer.valueOf(5);
private final String baseStr = base.getClass().getName() + "@" +
Integer.toHexString(System.identityHashCode(base));
+ /*
+ * All tests should leave the registry empty.
+ */
+ @After
+ public void after(){
+ validateNullToStringStyleRegistry();
+ }
+
//-----------------------------------------------------------------------
@Test
@@ -53,8 +62,8 @@ public class ToStringBuilderTest {
@Test
public void testConstructorEx3() {
assertEquals("<null>", new ToStringBuilder(null, null,
null).toString());
- new ToStringBuilder(this.base, null, null);
- new ToStringBuilder(this.base, ToStringStyle.DEFAULT_STYLE, null);
+ new ToStringBuilder(this.base, null, null).toString();
+ new ToStringBuilder(this.base, ToStringStyle.DEFAULT_STYLE,
null).toString();
}
@Test
@@ -155,7 +164,6 @@ public class ToStringBuilderTest {
assertEquals(baseStr + "[{<null>,5,{3,6}}]",
ToStringBuilder.reflectionToString(array));
array = null;
assertReflectionArray("<null>", array);
- this.validateNullToStringStyleRegistry();
}
@Test
@@ -165,29 +173,24 @@ public class ToStringBuilderTest {
assertEquals(baseStr + "[{1,2,-3,4}]",
ToStringBuilder.reflectionToString(array));
array = null;
assertReflectionArray("<null>", array);
- this.validateNullToStringStyleRegistry();
}
@Test
public void testReflectionIntArray() {
- 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));
array = null;
assertReflectionArray("<null>", array);
- this.validateNullToStringStyleRegistry();
}
@Test
public void testReflectionShortArray() {
- 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));
array = null;
assertReflectionArray("<null>", array);
- this.validateNullToStringStyleRegistry();
}
@Test
@@ -197,18 +200,15 @@ public class ToStringBuilderTest {
assertEquals(baseStr + "[{1,2,-3,4}]",
ToStringBuilder.reflectionToString(array));
array = null;
assertReflectionArray("<null>", array);
- this.validateNullToStringStyleRegistry();
}
@Test
public void testReflectionCharArray() {
- 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));
array = null;
assertReflectionArray("<null>", array);
- this.validateNullToStringStyleRegistry();
}
@Test
@@ -218,7 +218,6 @@ public class ToStringBuilderTest {
assertEquals(baseStr + "[{1.0,2.9876,-3.00001,4.3}]",
ToStringBuilder.reflectionToString(array));
array = null;
assertReflectionArray("<null>", array);
- this.validateNullToStringStyleRegistry();
}
@Test
@@ -228,7 +227,6 @@ public class ToStringBuilderTest {
assertEquals(baseStr + "[{1.0,2.9876,-3.00001,4.3}]",
ToStringBuilder.reflectionToString(array));
array = null;
assertReflectionArray("<null>", array);
- this.validateNullToStringStyleRegistry();
}
@Test
@@ -238,7 +236,6 @@ public class ToStringBuilderTest {
assertEquals(baseStr + "[{true,false,false}]",
ToStringBuilder.reflectionToString(array));
array = null;
assertReflectionArray("<null>", array);
- this.validateNullToStringStyleRegistry();
}
// Reflection Array Array tests
@@ -250,7 +247,6 @@ public class ToStringBuilderTest {
assertEquals(baseStr + "[{{1.0,2.29686},<null>,{NaN}}]",
ToStringBuilder.reflectionToString(array));
array = null;
assertReflectionArray("<null>", array);
- this.validateNullToStringStyleRegistry();
}
@@ -261,7 +257,6 @@ public class ToStringBuilderTest {
assertEquals(baseStr + "[{{1,2},<null>,{5}}]",
ToStringBuilder.reflectionToString(array));
array = null;
assertReflectionArray("<null>", array);
- this.validateNullToStringStyleRegistry();
}
@Test
@@ -271,7 +266,6 @@ public class ToStringBuilderTest {
assertEquals(baseStr + "[{{1,2},<null>,{5}}]",
ToStringBuilder.reflectionToString(array));
array = null;
assertReflectionArray("<null>", array);
- this.validateNullToStringStyleRegistry();
}
@Test
@@ -281,29 +275,24 @@ public class ToStringBuilderTest {
assertEquals(baseStr + "[{{1,2},<null>,{5}}]",
ToStringBuilder.reflectionToString(array));
array = null;
assertReflectionArray("<null>", array);
- this.validateNullToStringStyleRegistry();
}
@Test
public void testReflectionByteArrayArray() {
- emptyToStringStyleRegistry(); // Ensure registry starts out empty
byte[][] array = new byte[][] { { 1, 2 }, null, { 5 } };
String baseStr = this.toBaseString(array);
assertEquals(baseStr + "[{{1,2},<null>,{5}}]",
ToStringBuilder.reflectionToString(array));
array = null;
assertReflectionArray("<null>", array);
- this.validateNullToStringStyleRegistry();
}
@Test
public void testReflectionCharArrayArray() {
- emptyToStringStyleRegistry(); // Ensure registry starts out empty
char[][] array = new char[][] { { 'A', 'B' }, null, { 'p' } };
String baseStr = this.toBaseString(array);
assertEquals(baseStr + "[{{A,B},<null>,{p}}]",
ToStringBuilder.reflectionToString(array));
array = null;
assertReflectionArray("<null>", array);
- this.validateNullToStringStyleRegistry();
}
@Test
@@ -313,7 +302,6 @@ public class ToStringBuilderTest {
assertEquals(baseStr + "[{{1.0,2.29686},<null>,{NaN}}]",
ToStringBuilder.reflectionToString(array));
array = null;
assertReflectionArray("<null>", array);
- this.validateNullToStringStyleRegistry();
}
@Test
@@ -324,7 +312,6 @@ public class ToStringBuilderTest {
assertEquals(baseStr + "[{{true,false},<null>,{false}}]",
ToStringBuilder.reflectionToString(array));
array = null;
assertReflectionArray("<null>", array);
- this.validateNullToStringStyleRegistry();
}
// Reflection hierarchy tests
@@ -349,7 +336,6 @@ public class ToStringBuilderTest {
assertEquals(expectedWithoutTransients,
toStringWithoutTransients);
}
}
- this.validateNullToStringStyleRegistry();
}
@Test
@@ -375,7 +361,6 @@ public class ToStringBuilderTest {
assertEquals(baseStr + "[b=b,a=a]",
ToStringBuilder.reflectionToString(baseB, null, false, Object.class));
assertEquals(baseStr + "[b=b,a=a]",
ToStringBuilder.reflectionToString(baseB, null, false,
ReflectionTestFixtureA.class));
assertEquals(baseStr + "[b=b]",
ToStringBuilder.reflectionToString(baseB, null, false,
ReflectionTestFixtureB.class));
- this.validateNullToStringStyleRegistry();
}
static class ReflectionTestFixtureA {
@@ -424,7 +409,6 @@ public class ToStringBuilderTest {
assertEquals(
this.toBaseString(objects) + "[{" + this.toBaseString(objects) +
"}]",
ToStringBuilder.reflectionToString(objects));
- this.validateNullToStringStyleRegistry();
}
/**
@@ -442,7 +426,6 @@ public class ToStringBuilderTest {
assertEquals(
this.toBaseString(objectsLevel2) + "[{{" +
this.toBaseString(objectsLevel2) + "}}]",
ToStringBuilder.reflectionToString(objectsLevel2));
- this.validateNullToStringStyleRegistry();
}
@Test
@@ -465,7 +448,6 @@ public class ToStringBuilderTest {
+ basicToString
+ "}}]",
ToStringBuilder.reflectionToString(objects));
- this.validateNullToStringStyleRegistry();
}
/**
@@ -552,11 +534,9 @@ public class ToStringBuilderTest {
*/
@Test
public void testSimpleReflectionObjectCycle() throws Exception {
- emptyToStringStyleRegistry(); // Ensure registry starts out empty
SimpleReflectionTestFixture simple = new SimpleReflectionTestFixture();
simple.o = simple;
assertEquals(this.toBaseString(simple) + "[o=" +
this.toBaseString(simple) + "]", simple.toString());
- this.validateNullToStringStyleRegistry();
}
/**
@@ -566,10 +546,8 @@ public class ToStringBuilderTest {
*/
@Test
public void testSelfInstanceVarReflectionObjectCycle() throws Exception {
- emptyToStringStyleRegistry(); // Ensure registry starts out empty
SelfInstanceVarReflectionTestFixture test = new
SelfInstanceVarReflectionTestFixture();
assertEquals(this.toBaseString(test) + "[typeIsSelf=" +
this.toBaseString(test) + "]", test.toString());
- this.validateNullToStringStyleRegistry();
}
/**
@@ -582,7 +560,6 @@ public class ToStringBuilderTest {
public void testSelfInstanceTwoVarsReflectionObjectCycle() throws
Exception {
SelfInstanceTwoVarsReflectionTestFixture test = new
SelfInstanceTwoVarsReflectionTestFixture();
assertEquals(this.toBaseString(test) + "[typeIsSelf=" +
this.toBaseString(test) + ",otherType=" + test.getOtherType().toString() + "]",
test.toString());
- this.validateNullToStringStyleRegistry();
}
@@ -593,7 +570,6 @@ public class ToStringBuilderTest {
*/
@Test
public void testReflectionObjectCycle() throws Exception {
- emptyToStringStyleRegistry(); // Ensure registry starts out empty
ReflectionTestCycleA a = new ReflectionTestCycleA();
ReflectionTestCycleB b = new ReflectionTestCycleB();
a.b = b;
@@ -601,7 +577,6 @@ public class ToStringBuilderTest {
assertEquals(
this.toBaseString(a) + "[b=" + this.toBaseString(b) + "[a=" +
this.toBaseString(a) + "]]",
a.toString());
- validateNullToStringStyleRegistry();
}
/**
@@ -630,18 +605,6 @@ public class ToStringBuilderTest {
+ this.toBaseString(simple)
+ "}]",
ToStringBuilder.reflectionToString(simple));
- this.validateNullToStringStyleRegistry();
- }
-
- private static final Object DUMMY = new Object();
- void emptyToStringStyleRegistry() {
- final Map<Object, Object> 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() {
@@ -937,7 +900,6 @@ public class ToStringBuilderTest {
@Test
public void testObjectCycle() {
- emptyToStringStyleRegistry(); // Ensure registry starts out empty
ObjectCycle a = new ObjectCycle();
ObjectCycle b = new ObjectCycle();
a.obj = b;
@@ -945,7 +907,6 @@ public class ToStringBuilderTest {
String expected = toBaseString(a) + "[" + toBaseString(b) + "[" +
toBaseString(a) + "]]";
assertEquals(expected, a.toString());
- validateNullToStringStyleRegistry();
}
static class ObjectCycle {
@@ -1051,6 +1012,7 @@ public class ToStringBuilderTest {
Integer val = Integer.valueOf(5);
ReflectionToStringBuilder test = new ReflectionToStringBuilder(val);
test.setUpToClass(Number.class);
+ test.toString();
}
/**
@@ -1065,6 +1027,8 @@ public class ToStringBuilderTest {
fail();
} catch (IllegalArgumentException ex) {
// expected
+ } finally {
+ test.toString();
}
}