You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by br...@apache.org on 2015/05/01 23:57:00 UTC

[04/11] [lang] add testNestingPerson case to JsonToStringStyleTest.java

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 <79...@qq.com>
Authored: Fri May 1 14:10:22 2015 +0800
Committer: Jack <79...@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;
+    }
 }