package com.alibaba.json.bvt.path; import java.util.ArrayList; import java.util.List; import org.junit.Assert; import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONPath; import com.alibaba.fastjson.JSONPathException; import com.alibaba.json.bvt.path.JSONPath_between_int.Entity; import junit.framework.TestCase; public class JSONPath_size extends TestCase { public void test_root() throws Exception { List list = new ArrayList(); list.add(new Entity(101, "kiki")); list.add(new Entity(102, "ljw2083")); list.add(new Entity(103, "ljw2083")); Assert.assertEquals(3, JSONPath.size(list, "$")); } public void test_path() throws Exception { List list = new ArrayList(); list.add(new Entity(101, "kiki")); list.add(new Entity(102, "ljw2083")); list.add(new Entity(103, "ljw2083")); JSONObject root = new JSONObject(); root.put("values", list); Assert.assertEquals(3, JSONPath.size(root, "$.values")); } public void test_path_size() throws Exception { JSONPath path = JSONPath.compile("$"); Assert.assertEquals(-1, path.size(null)); } public void test_path_size_1() throws Exception { List list = new ArrayList(); list.add(new Entity(101, "kiki")); list.add(new Entity(102, "ljw2083")); list.add(new Entity(103, "ljw2083")); JSONPath path = JSONPath.compile("$"); Assert.assertEquals(3, path.size(list)); } public void test_path_size_2() throws Exception { List list = new ArrayList(); list.add(new Entity(101, "kiki")); list.add(new Entity(102, "ljw2083")); list.add(new Entity(103, "ljw2083")); JSONObject root = new JSONObject(); root.put("values", list); JSONPath path = JSONPath.compile("$.values"); Assert.assertEquals(3, path.size(root)); } public void test_error() throws Exception { ErrorSizeBean obj = new ErrorSizeBean(); Exception error = null; try { JSONPath.eval(obj, "$.size()"); } catch (JSONPathException ex) { error = ex; } Assert.assertNotNull(error); Assert.assertNotNull(error.getCause()); } public static class ErrorSizeBean { public int getId() { throw new IllegalStateException(); } } }