public void matches(String json, List<T> element) throws Exception { List<T> element2 = parser.parse(json, listType); Assert.assertEquals(element.size(), element2.size()); for (int i = 0; i < element2.size(); i++) { T e1 = element2.get(i); T e2 = element.get(i); Field[] fields = e1.getClass().getDeclaredFields(); for (int j = 0; j < fields.length; j++) { Field f = fields[j]; f.setAccessible(true); Object o1 = f.get(e1); Object o2 = f.get(e2); if (o1 instanceof Double) { Assert.assertEquals((Double) o1, (Double) o2, 0.001); } else if (o1 instanceof Long) { Assert.assertEquals((Float) o1, (Float) o2, 0.001); } else if (o1 instanceof Date) { System.err.println("Date comparison not supported"); } else { Assert.assertEquals(o1, o2); } } } }
public void matches(String json, T element) throws Exception { T element2 = parser.parse(json, clazz); Field[] fields = element.getClass().getDeclaredFields(); for (int i = 0; i < fields.length; i++) { Field f = fields[i]; f.setAccessible(true); Object o1 = f.get(element2); Object o2 = f.get(element); if (o1 instanceof Double) { Assert.assertEquals((Double) o1, (Double) o2, 0.001); } else if (o1 instanceof Long) { Assert.assertEquals((Float) o1, (Float) o2, 0.001); } else if (o1 instanceof Date) { System.err.println("Date comparison not supported"); } else { Assert.assertEquals(o1, o2); } } }
public ParserTestHelper(Class<T> clazz, AbstractParser<T> parser) { this.parser = parser; this.clazz = parser.getType(); this.listType = parser.getListType(); }