1 package uk.co.datumedge.hamcrest.json;
2
3 import static org.skyscreamer.jsonassert.JSONCompare.compareJSON;
4 import static uk.co.datumedge.hamcrest.json.JSONAssertComparisonResult.resultOf;
5
6 import org.json.JSONArray;
7 import org.json.JSONException;
8 import org.skyscreamer.jsonassert.JSONCompareMode;
9
10
11
12
13 final class JSONArrayComparatorFactory implements JSONAssertComparatorFactory<JSONArray> {
14 private static final JSONAssertComparatorFactory<JSONArray> INSTANCE = new JSONArrayComparatorFactory();
15
16 static JSONAssertComparatorFactory<JSONArray> jsonArrayComparison() {
17 return INSTANCE;
18 }
19
20 private JSONArrayComparatorFactory() { }
21
22 @Override
23 public JSONComparator<JSONArray> comparatorWith(final JSONCompareMode compareMode) {
24 return new JSONComparator<JSONArray>() {
25 @Override
26 public JSONComparisonResult compare(JSONArray expected, JSONArray actual) throws JSONException {
27 return resultOf(compareJSON(expected, actual, compareMode));
28 }
29 };
30 }
31 }