diff --git a/snack3_demo/src/test/java/_models/SModel.java b/snack3_demo/src/test/java/_models/SModel.java new file mode 100644 index 0000000..7c868b6 --- /dev/null +++ b/snack3_demo/src/test/java/_models/SModel.java @@ -0,0 +1,25 @@ +package _models; + +/** + * @author noear 2024/5/29 created + */ +public class SModel { + public String name; + public int age; + + public void setAge(int age) { + this.age = age; + } + + public int getAge() { + return age; + } + + @Override + public String toString() { + return "SModel{" + + "name='" + name + '\'' + + ", age=" + age + + '}'; + } +} diff --git a/snack3_demo/src/test/java/features/SerializationsTest2.java b/snack3_demo/src/test/java/features/SerializationsTest2.java index 5e4c54d..7acc9e8 100644 --- a/snack3_demo/src/test/java/features/SerializationsTest2.java +++ b/snack3_demo/src/test/java/features/SerializationsTest2.java @@ -5,6 +5,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.noear.snack.ONode; +import org.noear.snack.core.Feature; import org.noear.snack.core.TypeRef; import org.noear.solon.Solon; import org.noear.solon.test.SolonJUnit4ClassRunner; @@ -166,4 +167,27 @@ public void test6() { System.out.println(nameModel); assert "noear".equals(nameModel.getUserName()); } + + @Test + public void test7(){ + SModel sModel = new SModel(); + sModel.age = 11; + sModel.name = "test"; + + String json = ONode.load(sModel, Feature.UseOnlyGetter, Feature.UseOnlySetter).toJson(); + System.out.println(json); + assert json.contains("name") == false; + assert json.contains("age"); + } + + @Test + public void test8(){ + String json = "{age:11,name:'test'}"; + + SModel sModel = ONode.load(json, Feature.UseOnlyGetter, Feature.UseOnlySetter).toObject(SModel.class); + System.out.println(sModel); + + assert sModel.name == null; + assert sModel.age == 11; + } }