package com.alibaba.json.bvt; import org.junit.Assert; import junit.framework.TestCase; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.annotation.JSONType; public class JSONTypeTest1 extends TestCase { public void test_ignores() throws Exception { A a = new A(); a.setF1(1001); a.setF2(1002); a.setF3(1003); Assert.assertEquals("{\"f1\":1001,\"f3\":1003}", JSON.toJSONString(a)); } public void test_ignoresParent() throws Exception { B b = new B(); b.setF1(1001); b.setF2(1002); b.setF3(1003); b.setF4(1004); b.setF5(1005); Assert.assertEquals("{\"f1\":1001,\"f3\":1003,\"f5\":1005}", JSON.toJSONString(b)); } public void test_ignoresParent2() throws Exception { C c = new C(); c.setF1(1001); c.setF2(1002); c.setF3(1003); c.setF4(1004); c.setF5(1005); c.setF6(1006); Assert.assertEquals("{\"f1\":1001,\"f3\":1003,\"f5\":1005,\"f6\":1006}", JSON.toJSONString(c)); } public void test_ignoresParent3() throws Exception { D d = new D(); d.setF1(1001); d.setF2(1002); d.setF3(1003); d.setF4(1004); d.setF5(1005); d.setF6(1006); d.setF7(1007); Assert.assertEquals("{\"f1\":1001,\"f3\":1003,\"f5\":1005,\"f6\":1006,\"f7\":1007}", JSON.toJSONString(d)); } @JSONType(ignores = "f2") public static class A { private int f1; private int f2; private int f3; public int getF1() { return f1; } public void setF1(int f1) { this.f1 = f1; } public int getF2() { return f2; } public void setF2(int f2) { this.f2 = f2; } public int getF3() { return f3; } public void setF3(int f3) { this.f3 = f3; } } @JSONType(ignores = { "f4" }) public static class B extends A { private int f4; private int f5; public int getF4() { return f4; } public void setF4(int f4) { this.f4 = f4; } public int getF5() { return f5; } public void setF5(int f5) { this.f5 = f5; } } public static class C extends B { private int f6; public int getF6() { return f6; } public void setF6(int f6) { this.f6 = f6; } } public static class D extends C { private int f7; public int getF7() { return f7; } public void setF7(int f7) { this.f7 = f7; } } }