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;
+    }
 }

Reply via email to