package com.alibaba.json.bvt.parser.deser;
import junit.framework.TestCase;
import org.junit.Assert;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.annotation.JSONCreator;
import com.alibaba.fastjson.annotation.JSONField;
public class BooleanFieldDeserializerTest2 extends TestCase {
public void test_0() throws Exception {
Entity a = JSON.parseObject("{\"f1\":true,\"f2\":null}", Entity.class);
Assert.assertEquals(true, a.getF1());
Assert.assertEquals(null, a.getF2());
}
public void test_1() throws Exception {
Entity a = JSON.parseObject("{\"f1\":1,\"f2\":null}", Entity.class);
Assert.assertEquals(true, a.getF1());
Assert.assertEquals(null, a.getF2());
}
public void test_2() throws Exception {
Entity a = JSON.parseObject("{\"f1\":\"true\",\"f2\":null}", Entity.class);
Assert.assertEquals(true, a.getF1());
Assert.assertEquals(null, a.getF2());
}
public void test_3() throws Exception {
Entity a = JSON.parseObject("{\"f1\":false,\"f2\":null}", Entity.class);
Assert.assertEquals(false, a.getF1());
Assert.assertEquals(null, a.getF2());
}
public static class Entity {
private final Boolean f1;
private final Boolean f2;
@JSONCreator
public Entity(@JSONField(name = "f1") Boolean f1, @JSONField(name = "f2") Boolean f2){
this.f1 = f1;
this.f2 = f2;
}
public Boolean getF1() {
return f1;
}
public Boolean getF2() {
return f2;
}
}
}