package org.test4j.json.encoder; import org.junit.Test; import org.test4j.json.JSON; import org.test4j.json.encoder.beans.test.User; import org.test4j.json.encoder.object.PoJoEncoder; import org.test4j.json.helper.JSONFeature; @SuppressWarnings({ "rawtypes", "unchecked" }) public class PropertyEncoderTest extends EncoderTest { String json = ""; User user = new User() { { this.setId(123); this.setName("darui.wu"); this.setAge(45); this.setSalary(234.56d); } }; @Test public void testEncodeValue() { JSONEncoder encoder = new PoJoEncoder(User.class); encoder.setFeatures(JSONFeature.UseSingleQuote, JSONFeature.IgnoreExplicitFieldType); encoder.encode(user, writer, references); this.json = writer.toString(); want.string(json).start("{#class:'org.test4j.json.encoder.beans.test.User@").contains("id:123") .contains("name:'darui.wu'").contains("age:45").contains("salary:234.56").contains("isFemale:false"); } @Test public void testDecodeValue() { User result = JSON .toObject("{#class:'org.test4j.json.encoder.beans.test.User@94257f',id:123,name:'darui.wu',age:45,salary:234.56,isFemale:false}"); want.object(user).reflectionEq(result); } }