From 7c60b0ef761112463ff6bfa429e41f5022d06f06 Mon Sep 17 00:00:00 2001 From: florin Date: Mon, 3 Oct 2022 19:16:11 +0300 Subject: [PATCH] refactoring --- src/main/java/io/json/compare/JSONCompare.java | 2 +- .../java/io/json/compare/matcher/JsonArrayMatcher.java | 8 ++++---- .../java/io/json/compare/matcher/JsonValueMatcher.java | 2 +- .../io/json/compare/matcher/JSONPathCompareTests.java | 7 +++---- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/src/main/java/io/json/compare/JSONCompare.java b/src/main/java/io/json/compare/JSONCompare.java index af6b7b9..51f1660 100644 --- a/src/main/java/io/json/compare/JSONCompare.java +++ b/src/main/java/io/json/compare/JSONCompare.java @@ -67,7 +67,7 @@ public static void assertMatches(Object expected, Object actual, JsonComparator if (!diffs.isEmpty()) { String defaultMessage = String.format("FOUND %s DIFFERENCE(S):\n%s\n", diffs.size(), diffs.stream().map(diff -> - "\n_________________________DIFF__________________________\n" + diff).reduce(String::concat).get()); + "\n\n_________________________DIFF__________________________\n" + diff).reduce(String::concat).get()); if (comparator == null || comparator.getClass().equals(DefaultJsonComparator.class)) { defaultMessage += "\n\n" + ASSERTION_ERROR_HINT_MESSAGE + "\n"; } diff --git a/src/main/java/io/json/compare/matcher/JsonArrayMatcher.java b/src/main/java/io/json/compare/matcher/JsonArrayMatcher.java index 4fa7947..ca6e4be 100644 --- a/src/main/java/io/json/compare/matcher/JsonArrayMatcher.java +++ b/src/main/java/io/json/compare/matcher/JsonArrayMatcher.java @@ -55,7 +55,7 @@ private List matchWithJsonArray(int expPosition, JsonNode expElement, Js return Collections.emptyList(); } else { if (compareModes.contains(CompareMode.JSON_ARRAY_STRICT_ORDER)) { - diffs.add(String.format("\nJSON ARRAY elements differ at position %s:\n%s\n________diffs________\n%s", expPosition + 1, + diffs.add(String.format("JSON ARRAY elements differ at position %s:\n%s\n________diffs________\n%s", expPosition + 1, MessageUtil.cropL(JSONCompare.prettyPrint(expElement)), String.join("\n_____________________\n", elementDiffs))); return diffs; } @@ -69,14 +69,14 @@ private List matchWithJsonArray(int expPosition, JsonNode expElement, Js if (areOfSameType(expElement, actElement)) { elementDiffs = new JsonMatcher(expElement, actElement, comparator, compareModes).match(); if (!elementDiffs.isEmpty()) { - diffs.add("\nExpected element from position " + (expPosition + 1) + diffs.add("Expected element from position " + (expPosition + 1) + " was FOUND:\n" + MessageUtil.cropL(JSONCompare.prettyPrint(expElement))); return diffs; } } break; case DO_NOT_MATCH_ANY: - diffs.add(String.format("\nExpected condition %s from position %s was not met." + + diffs.add(String.format("Expected condition %s from position %s was not met." + " Actual JSON array has extra elements.", expElement, expPosition + 1)); return diffs; @@ -86,7 +86,7 @@ private List matchWithJsonArray(int expPosition, JsonNode expElement, Js diffs.add("\nExpected element from position " + (expPosition + 1) + " was NOT FOUND:\n" + MessageUtil.cropL(JSONCompare.prettyPrint(expElement))); } else if (useCase == UseCase.MATCH_ANY) { - diffs.add(String.format("\nExpected condition %s from position %s was not met." + + diffs.add(String.format("Expected condition %s from position %s was not met." + " Actual Json Array has no extra elements.", expElement, expPosition + 1)); } return diffs; diff --git a/src/main/java/io/json/compare/matcher/JsonValueMatcher.java b/src/main/java/io/json/compare/matcher/JsonValueMatcher.java index f0c37cd..8833db9 100644 --- a/src/main/java/io/json/compare/matcher/JsonValueMatcher.java +++ b/src/main/java/io/json/compare/matcher/JsonValueMatcher.java @@ -17,7 +17,7 @@ class JsonValueMatcher extends AbstractJsonMatcher { @Override public List match() { List diffs = new ArrayList<>(); - String diff = "\nExpected %s: %s But got: %s"; + String diff = "Expected %s: %s But got: %s"; if (expected.isNull() && !actual.isNull()) { diffs.add(String.format(diff, "null", "", actual)); diff --git a/src/test/java/io/json/compare/matcher/JSONPathCompareTests.java b/src/test/java/io/json/compare/matcher/JSONPathCompareTests.java index 390504a..446221d 100644 --- a/src/test/java/io/json/compare/matcher/JSONPathCompareTests.java +++ b/src/test/java/io/json/compare/matcher/JSONPathCompareTests.java @@ -196,10 +196,9 @@ public void checkInvalidOrNotFoundJsonPathErrorMessage() { try { JSONCompare.assertMatches(expected, actual); } catch (AssertionError e) { - assertTrue(e.getMessage().contains("FOUND 1 DIFFERENCE(S):\n" + - "\n" + - "_________________________DIFF__________________________\n" + - "a -> a1 -> a11 -> json path ('$.idontexist') -> No results for path: $['idontexist']")); + assertTrue(e.getMessage().matches("(?s).*FOUND 1 DIFFERENCE.*" + + "_________________________DIFF__________________________.*" + + "\\Qa -> a1 -> a11 -> json path ('$.idontexist') -> No results for path: $['idontexist']\\E.*")); return; } fail("No error thrown");