package com.alibaba.json.bvt.serializer;
import org.junit.Assert;
import junit.framework.TestCase;
import com.alibaba.fastjson.JSON;
public class FloatTest extends TestCase {
public void test_0() throws Exception {
Assert.assertEquals("null", JSON.toJSONString(Float.NaN));
Assert.assertEquals("null", JSON.toJSONString(Double.NaN));
Assert.assertEquals("null", JSON.toJSONString(Float.POSITIVE_INFINITY));
Assert.assertEquals("null", JSON.toJSONString(Float.NEGATIVE_INFINITY));
Assert.assertEquals("null", JSON.toJSONString(Double.NaN));
Assert.assertEquals("null", JSON.toJSONString(Double.POSITIVE_INFINITY));
Assert.assertEquals("null", JSON.toJSONString(Double.NEGATIVE_INFINITY));
Assert.assertEquals("null", JSON.toJSONString(new Float(Float.NaN)));
Assert.assertEquals("null", JSON.toJSONString(new Double(Double.NaN)));
//Assert.assertEquals("{\"f1\":null,\"f2\":null}", JSON.toJSONString(new Bean()));
//Assert.assertEquals("{\"f1\":null,\"f2\":null}", JSON.toJSONString(new Bean(Float.POSITIVE_INFINITY, Double.POSITIVE_INFINITY)));
//Assert.assertEquals("{\"f1\":null,\"f2\":null}", JSON.toJSONString(new Bean(Float.NEGATIVE_INFINITY, Double.NEGATIVE_INFINITY)));
Assert.assertEquals(null, JSON.parseObject(JSON.toJSONString(new Bean())).get("f1"));
Assert.assertEquals(null, JSON.parseObject(JSON.toJSONString(new Bean())).get("f2"));
Assert.assertEquals(null, JSON.parseObject(JSON.toJSONString(new Bean(Float.POSITIVE_INFINITY, Double.POSITIVE_INFINITY))).get("f1"));
Assert.assertEquals(null, JSON.parseObject(JSON.toJSONString(new Bean(Float.POSITIVE_INFINITY, Double.POSITIVE_INFINITY))).get("f2"));
Assert.assertEquals(null, JSON.parseObject(JSON.toJSONString(new Bean(Float.NEGATIVE_INFINITY, Double.NEGATIVE_INFINITY))).get("f1"));
Assert.assertEquals(null, JSON.parseObject(JSON.toJSONString(new Bean(Float.NEGATIVE_INFINITY, Double.NEGATIVE_INFINITY))).get("f2"));
}
public static class Bean {
private float f1 = Float.NaN;
private double f2 = Double.NaN;
public Bean() {
}
public Bean(float f1, double f2) {
this.f1 = f1;
this.f2 = f2;
}
public float getF1() {
return f1;
}
public void setF1(float f1) {
this.f1 = f1;
}
public double getF2() {
return f2;
}
public void setF2(double f2) {
this.f2 = f2;
}
}
}