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();
}
}
}