/src/test/java/com/alibaba/json/bvt/path/JSONPath_size.java

https://github.com/alibaba/fastjson · Java · 88 lines · 65 code · 23 blank · 0 comment · 0 complexity · 3a3884ad4c0903d922273bb4bc155192 MD5 · raw file

  1. package com.alibaba.json.bvt.path;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import org.junit.Assert;
  5. import com.alibaba.fastjson.JSONObject;
  6. import com.alibaba.fastjson.JSONPath;
  7. import com.alibaba.fastjson.JSONPathException;
  8. import com.alibaba.json.bvt.path.JSONPath_between_int.Entity;
  9. import junit.framework.TestCase;
  10. public class JSONPath_size extends TestCase {
  11. public void test_root() throws Exception {
  12. List list = new ArrayList();
  13. list.add(new Entity(101, "kiki"));
  14. list.add(new Entity(102, "ljw2083"));
  15. list.add(new Entity(103, "ljw2083"));
  16. Assert.assertEquals(3, JSONPath.size(list, "$"));
  17. }
  18. public void test_path() throws Exception {
  19. List list = new ArrayList();
  20. list.add(new Entity(101, "kiki"));
  21. list.add(new Entity(102, "ljw2083"));
  22. list.add(new Entity(103, "ljw2083"));
  23. JSONObject root = new JSONObject();
  24. root.put("values", list);
  25. Assert.assertEquals(3, JSONPath.size(root, "$.values"));
  26. }
  27. public void test_path_size() throws Exception {
  28. JSONPath path = JSONPath.compile("$");
  29. Assert.assertEquals(-1, path.size(null));
  30. }
  31. public void test_path_size_1() throws Exception {
  32. List list = new ArrayList();
  33. list.add(new Entity(101, "kiki"));
  34. list.add(new Entity(102, "ljw2083"));
  35. list.add(new Entity(103, "ljw2083"));
  36. JSONPath path = JSONPath.compile("$");
  37. Assert.assertEquals(3, path.size(list));
  38. }
  39. public void test_path_size_2() throws Exception {
  40. List list = new ArrayList();
  41. list.add(new Entity(101, "kiki"));
  42. list.add(new Entity(102, "ljw2083"));
  43. list.add(new Entity(103, "ljw2083"));
  44. JSONObject root = new JSONObject();
  45. root.put("values", list);
  46. JSONPath path = JSONPath.compile("$.values");
  47. Assert.assertEquals(3, path.size(root));
  48. }
  49. public void test_error() throws Exception {
  50. ErrorSizeBean obj = new ErrorSizeBean();
  51. Exception error = null;
  52. try {
  53. JSONPath.eval(obj, "$.size()");
  54. } catch (JSONPathException ex) {
  55. error = ex;
  56. }
  57. Assert.assertNotNull(error);
  58. Assert.assertNotNull(error.getCause());
  59. }
  60. public static class ErrorSizeBean {
  61. public int getId() {
  62. throw new IllegalStateException();
  63. }
  64. }
  65. }