add testNestingPerson case to JsonToStringStyleTest.java
Project: http://git-wip-us.apache.org/repos/asf/commons-lang/repo Commit: http://git-wip-us.apache.org/repos/asf/commons-lang/commit/2584b4a0 Tree: http://git-wip-us.apache.org/repos/asf/commons-lang/tree/2584b4a0 Diff: http://git-wip-us.apache.org/repos/asf/commons-lang/diff/2584b4a0 Branch: refs/heads/master Commit: 2584b4a0ef536e59bf28ba140844597a093d848d Parents: 6d23e85 Author: Jack <792626...@qq.com> Authored: Fri May 1 14:10:22 2015 +0800 Committer: Jack <792626...@qq.com> Committed: Fri May 1 14:10:22 2015 +0800 ---------------------------------------------------------------------- .../lang3/builder/JsonToStringStyleTest.java | 40 ++++++++++++++++++++ 1 file changed, 40 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/commons-lang/blob/2584b4a0/src/test/java/org/apache/commons/lang3/builder/JsonToStringStyleTest.java ---------------------------------------------------------------------- diff --git a/src/test/java/org/apache/commons/lang3/builder/JsonToStringStyleTest.java b/src/test/java/org/apache/commons/lang3/builder/JsonToStringStyleTest.java index ad6a8c7..d8f6beb 100644 --- a/src/test/java/org/apache/commons/lang3/builder/JsonToStringStyleTest.java +++ b/src/test/java/org/apache/commons/lang3/builder/JsonToStringStyleTest.java @@ -229,6 +229,30 @@ public class JsonToStringStyleTest { .append("age", p.age).append("smoker", p.smoker) .toString()); } + + @Test + public void testNestingPerson() { + final Person p = new Person(){ + public String toString(){ + return new ToStringBuilder(this).append("name", this.name) + .append("age", this.age).append("smoker", this.smoker) + .toString(); + } + }; + p.name = "Jane Doe"; + p.age = 25; + p.smoker = true; + + final NestingPerson nestP = new NestingPerson(); + nestP.pid="#1@Jane"; + nestP.person = p; + + assertEquals( + "{\"pid\":\"#1@Jane\",\"person\":{\"name\":\"Jane Doe\",\"age\":25,\"smoker\":true}}", + new ToStringBuilder(nestP).append("pid", nestP.pid) + .append("person", nestP.person) + .toString()); + } @Test public void testLong() { @@ -337,4 +361,20 @@ public class JsonToStringStyleTest { } catch (UnsupportedOperationException e) { } } + + /** + * An object with nested object structures used to test {@link JsonToStringStyle}. + * + */ + static class NestingPerson { + /** + * Test String field. + */ + String pid; + + /** + * Test nested object field. + */ + Person person; + } }