/src/test/java/com/alibaba/json/bvt/NumberFieldTest.java
https://github.com/alibaba/fastjson · Java · 192 lines · 126 code · 66 blank · 0 comment · 0 complexity · a4f1358a885016f5007d6507854bb0d8 MD5 · raw file
- package com.alibaba.json.bvt;
-
- import java.math.BigDecimal;
-
- import org.junit.Assert;
- import junit.framework.TestCase;
-
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.serializer.SerializeConfig;
- import com.alibaba.fastjson.serializer.SerializerFeature;
-
- public class NumberFieldTest extends TestCase {
-
- public void test_codec() throws Exception {
- V0 v = new V0();
- v.setValue(1001L);
-
- String text = JSON.toJSONString(v);
-
- V0 v1 = JSON.parseObject(text, V0.class);
-
- Assert.assertEquals(v1.getValue().intValue(), v.getValue().intValue());
- }
-
- public void test_codec_no_asm() throws Exception {
- V0 v = new V0();
- v.setValue(1001L);
-
- SerializeConfig mapping = new SerializeConfig();
- mapping.setAsmEnable(false);
-
- String text = JSON.toJSONString(v, mapping, SerializerFeature.WriteMapNullValue);
- Assert.assertEquals("{\"value\":1001}", text);
-
- V0 v1 = JSON.parseObject(text, V0.class);
-
- Assert.assertEquals(Integer.valueOf(1001), v1.getValue());
- }
-
- public void test_codec_null() throws Exception {
- V0 v = new V0();
-
- SerializeConfig mapping = new SerializeConfig();
- mapping.setAsmEnable(false);
-
- String text = JSON.toJSONString(v, mapping, SerializerFeature.WriteMapNullValue);
- Assert.assertEquals("{\"value\":null}", text);
-
- V0 v1 = JSON.parseObject(text, V0.class);
-
- Assert.assertEquals(v1.getValue(), v.getValue());
- }
-
- public void test_codec_2_no_asm() throws Exception {
- V0 v = new V0();
- v.setValue(Long.MAX_VALUE);
-
- SerializeConfig mapping = new SerializeConfig();
- mapping.setAsmEnable(false);
-
- String text = JSON.toJSONString(v, mapping, SerializerFeature.WriteMapNullValue);
- Assert.assertEquals("{\"value\":" + Long.MAX_VALUE + "}", text);
-
- V0 v1 = JSON.parseObject(text, V0.class);
-
- Assert.assertEquals(new Long(Long.MAX_VALUE), v1.getValue());
- }
-
- public void test_codec_2_asm() throws Exception {
- V0 v = new V0();
- v.setValue(Long.MAX_VALUE);
-
- SerializeConfig mapping = new SerializeConfig();
- mapping.setAsmEnable(true);
-
- String text = JSON.toJSONString(v, mapping, SerializerFeature.WriteMapNullValue);
- Assert.assertEquals("{\"value\":" + Long.MAX_VALUE + "}", text);
-
- V0 v1 = JSON.parseObject(text, V0.class);
-
- Assert.assertEquals(new Long(Long.MAX_VALUE), v1.getValue());
- }
-
- public void test_codec_3_no_asm() throws Exception {
- V0 v = new V0();
- v.setValue(new BigDecimal("3.2"));
-
- SerializeConfig mapping = new SerializeConfig();
- mapping.setAsmEnable(false);
-
- String text = JSON.toJSONString(v, mapping, SerializerFeature.WriteMapNullValue);
- Assert.assertEquals("{\"value\":3.2}", text);
-
- V0 v1 = JSON.parseObject(text, V0.class);
-
- Assert.assertEquals(new BigDecimal("3.2"), v1.getValue());
- }
-
- public void test_codec_3_asm() throws Exception {
- V0 v = new V0();
- v.setValue(new BigDecimal("3.2"));
-
- SerializeConfig mapping = new SerializeConfig();
- mapping.setAsmEnable(true);
-
- String text = JSON.toJSONString(v, mapping, SerializerFeature.WriteMapNullValue);
- Assert.assertEquals("{\"value\":3.2}", text);
-
- V0 v1 = JSON.parseObject(text, V0.class);
-
- Assert.assertEquals(new BigDecimal("3.2"), v1.getValue());
- }
-
- public void test_codec_min_no_asm() throws Exception {
- V0 v = new V0();
- v.setValue(Long.MIN_VALUE);
-
- SerializeConfig mapping = new SerializeConfig();
- mapping.setAsmEnable(false);
-
- String text = JSON.toJSONString(v, mapping, SerializerFeature.WriteMapNullValue);
- Assert.assertEquals("{\"value\":" + Long.MIN_VALUE + "}", text);
-
- V0 v1 = JSON.parseObject(text, V0.class);
-
- Assert.assertEquals(new Long(Long.MIN_VALUE), v1.getValue());
- }
-
- public void test_codec_min_asm() throws Exception {
- V0 v = new V0();
- v.setValue(Long.MIN_VALUE);
-
- SerializeConfig mapping = new SerializeConfig();
- mapping.setAsmEnable(true);
-
- String text = JSON.toJSONString(v, mapping, SerializerFeature.WriteMapNullValue);
- Assert.assertEquals("{\"value\":" + Long.MIN_VALUE + "}", text);
-
- V0 v1 = JSON.parseObject(text, V0.class);
-
- Assert.assertEquals(new Long(Long.MIN_VALUE), v1.getValue());
- }
-
- public void test_codec_null_1() throws Exception {
- V0 v = new V0();
-
- SerializeConfig mapping = new SerializeConfig();
- mapping.setAsmEnable(false);
-
- String text = JSON.toJSONString(v, mapping, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullNumberAsZero);
- Assert.assertEquals("{\"value\":0}", text);
-
- V0 v1 = JSON.parseObject(text, V0.class);
-
- Assert.assertEquals(Integer.valueOf(0), v1.getValue());
- }
-
- public void test_codec_null_1_asm() throws Exception {
- V0 v = new V0();
-
- SerializeConfig mapping = new SerializeConfig();
- mapping.setAsmEnable(true);
-
- String text = JSON.toJSONString(v, mapping, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullNumberAsZero);
- Assert.assertEquals("{\"value\":0}", text);
-
- V0 v1 = JSON.parseObject(text, V0.class);
-
- Assert.assertEquals(Integer.valueOf(0), v1.getValue());
- }
-
- public void test_codec_cast() throws Exception {
-
- V0 v1 = JSON.parseObject("{\"value\":\"12.3\"}", V0.class);
-
- Assert.assertEquals(new BigDecimal("12.3"), v1.getValue());
- }
-
- public static class V0 {
-
- private Number value;
-
- public Number getValue() {
- return value;
- }
-
- public void setValue(Number value) {
- this.value = value;
- }
-
- }
- }