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.JSONException;
7 import org.skyscreamer.jsonassert.JSONCompareMode;
8
9 final class StringComparatorFactory implements JSONAssertComparatorFactory<String> {
10 private static final JSONAssertComparatorFactory<String> INSTANCE = new StringComparatorFactory();
11
12 static JSONAssertComparatorFactory<String> stringComparison() {
13 return INSTANCE;
14 }
15
16 private StringComparatorFactory() { }
17
18 @Override
19 public JSONComparator<String> comparatorWith(final JSONCompareMode compareMode) {
20 return new JSONComparator<String>() {
21 @Override
22 public JSONComparisonResult compare(String expected, String actual) throws JSONException {
23 return resultOf(compareJSON(expected, actual, compareMode));
24 }
25 };
26 }
27 }