package com.alibaba.json.bvt.value; import org.junit.Assert; import com.alibaba.fastjson.JSON; import junit.framework.TestCase; public class LongValueTest extends TestCase { public void test_value() { long step = ((long) Integer.MAX_VALUE) * 1000 * 1000; for (long i = Long.MIN_VALUE; i <= 0; i += step) { VO vo = new VO(); vo.value = i; String text = JSON.toJSONString(vo); VO vo2 = JSON.parseObject(text, VO.class); Assert.assertEquals(vo.value, vo2.value); } for (long i = Long.MAX_VALUE; i >= 0; i -= step) { VO vo = new VO(); vo.value = i; String text = JSON.toJSONString(vo); VO vo2 = JSON.parseObject(text, VO.class); Assert.assertEquals(vo.value, vo2.value); } } public void test_value_1() { long step = ((long) Integer.MAX_VALUE) * 1000 * 1000; for (long i = Long.MIN_VALUE; i <= 0; i += step) { V1 vo = new V1(); vo.value = i; String text = JSON.toJSONString(vo); V1 vo2 = JSON.parseObject(text, V1.class); Assert.assertEquals(vo.value, vo2.value); } for (long i = Long.MAX_VALUE; i >= 0; i -= step) { V1 vo = new V1(); vo.value = i; String text = JSON.toJSONString(vo); V1 vo2 = JSON.parseObject(text, V1.class); Assert.assertEquals(vo.value, vo2.value); } } public void test_value_2() { long step = ((long) Integer.MAX_VALUE) * 1000 * 1000; for (long i = Long.MIN_VALUE; i <= 0; i += step) { V2 vo = new V2(); vo.value = i; String text = JSON.toJSONString(vo); V2 vo2 = JSON.parseObject(text, V2.class); Assert.assertEquals(vo.value, vo2.value); } for (long i = Long.MAX_VALUE; i >= 0; i -= step) { V2 vo = new V2(); vo.value = i; String text = JSON.toJSONString(vo); V2 vo2 = JSON.parseObject(text, V2.class); Assert.assertEquals(vo.value, vo2.value); } } public static class VO { public long value; } static class V1 { public long value; } public static class V2 { private long value; public long getValue() { return value; } public void setValue(long value) { this.value = value; } } }