/src/test/java/com/alibaba/json/bvt/basicType/LongTest_browserCompatible.java

https://github.com/alibaba/fastjson · Java · 70 lines · 59 code · 11 blank · 0 comment · 6 complexity · 2a947feac496daa89b48249994b3e9fb MD5 · raw file

  1. package com.alibaba.json.bvt.basicType;
  2. import java.io.StringWriter;
  3. import java.util.HashMap;
  4. import java.util.Map;
  5. import java.util.Random;
  6. import org.junit.Assert;
  7. import com.alibaba.fastjson.JSON;
  8. import com.alibaba.fastjson.JSONObject;
  9. import com.alibaba.fastjson.serializer.SerializerFeature;
  10. import junit.framework.TestCase;
  11. public class LongTest_browserCompatible extends TestCase {
  12. public void test_array() throws Exception {
  13. long[] values = new long[] {Long.MIN_VALUE, -1, 0, 1, Long.MAX_VALUE};
  14. String text = JSON.toJSONString(values, SerializerFeature.BrowserCompatible);
  15. long[] values_2 = JSON.parseObject(text, long[].class);
  16. Assert.assertEquals(values_2.length, values.length);
  17. for (int i = 0; i < values.length; ++i) {
  18. Assert.assertEquals(values[i], values_2[i]);
  19. }
  20. }
  21. public void test_array_writer() throws Exception {
  22. long[] values = new long[] {Long.MIN_VALUE, -1, 0, 1, Long.MAX_VALUE};
  23. StringWriter writer = new StringWriter();
  24. JSON.writeJSONString(writer, values, SerializerFeature.BrowserCompatible);
  25. String text = writer.toString();
  26. long[] values_2 = JSON.parseObject(text, long[].class);
  27. Assert.assertEquals(values_2.length, values.length);
  28. for (int i = 0; i < values.length; ++i) {
  29. Assert.assertEquals(values[i], values_2[i]);
  30. }
  31. }
  32. public void test_array_writer_2() throws Exception {
  33. Random random = new Random();
  34. long[] values = new long[2048];
  35. for (int i = 0; i < values.length; ++i) {
  36. values[i] = random.nextLong();
  37. }
  38. StringWriter writer = new StringWriter();
  39. JSON.writeJSONString(writer, values, SerializerFeature.BrowserCompatible);
  40. String text = writer.toString();
  41. long[] values_2 = JSON.parseObject(text, long[].class);
  42. Assert.assertEquals(values_2.length, values.length);
  43. for (int i = 0; i < values.length; ++i) {
  44. Assert.assertEquals(values[i], values_2[i]);
  45. }
  46. }
  47. public void test_map() throws Exception {
  48. long[] values = new long[] {Long.MIN_VALUE, -1, 0, 1, Long.MAX_VALUE};
  49. Map<String, Object> map = new HashMap<String, Object>();
  50. for (int i = 0; i < values.length; ++i) {
  51. map.put(Long.toString(i), values[i]);
  52. }
  53. String text = JSON.toJSONString(map, SerializerFeature.BrowserCompatible);
  54. JSONObject obj = JSON.parseObject(text);
  55. for (int i = 0; i < values.length; ++i) {
  56. Assert.assertEquals(values[i], ((Number) obj.getLong(Long.toString(i))).longValue());
  57. }
  58. }
  59. }