package com.alibaba.json.bvt.basicType;
import java.io.StringWriter;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import org.junit.Assert;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializerFeature;
import junit.framework.TestCase;
public class LongTest_browserCompatible extends TestCase {
public void test_array() throws Exception {
long[] values = new long[] {Long.MIN_VALUE, -1, 0, 1, Long.MAX_VALUE};
String text = JSON.toJSONString(values, SerializerFeature.BrowserCompatible);
long[] values_2 = JSON.parseObject(text, long[].class);
Assert.assertEquals(values_2.length, values.length);
for (int i = 0; i < values.length; ++i) {
Assert.assertEquals(values[i], values_2[i]);
}
}
public void test_array_writer() throws Exception {
long[] values = new long[] {Long.MIN_VALUE, -1, 0, 1, Long.MAX_VALUE};
StringWriter writer = new StringWriter();
JSON.writeJSONString(writer, values, SerializerFeature.BrowserCompatible);
String text = writer.toString();
long[] values_2 = JSON.parseObject(text, long[].class);
Assert.assertEquals(values_2.length, values.length);
for (int i = 0; i < values.length; ++i) {
Assert.assertEquals(values[i], values_2[i]);
}
}
public void test_array_writer_2() throws Exception {
Random random = new Random();
long[] values = new long[2048];
for (int i = 0; i < values.length; ++i) {
values[i] = random.nextLong();
}
StringWriter writer = new StringWriter();
JSON.writeJSONString(writer, values, SerializerFeature.BrowserCompatible);
String text = writer.toString();
long[] values_2 = JSON.parseObject(text, long[].class);
Assert.assertEquals(values_2.length, values.length);
for (int i = 0; i < values.length; ++i) {
Assert.assertEquals(values[i], values_2[i]);
}
}
public void test_map() throws Exception {
long[] values = new long[] {Long.MIN_VALUE, -1, 0, 1, Long.MAX_VALUE};
Map<String, Object> map = new HashMap<String, Object>();
for (int i = 0; i < values.length; ++i) {
map.put(Long.toString(i), values[i]);
}
String text = JSON.toJSONString(map, SerializerFeature.BrowserCompatible);
JSONObject obj = JSON.parseObject(text);
for (int i = 0; i < values.length; ++i) {
Assert.assertEquals(values[i], ((Number) obj.getLong(Long.toString(i))).longValue());
}
}
}