diff --git a/processor/src/test/java/org/javahelpers/simple/builders/processor/testing/ProcessorAsserts.java b/processor/src/test/java/org/javahelpers/simple/builders/processor/testing/ProcessorAsserts.java index 6b117d2f..c5d94a2e 100644 --- a/processor/src/test/java/org/javahelpers/simple/builders/processor/testing/ProcessorAsserts.java +++ b/processor/src/test/java/org/javahelpers/simple/builders/processor/testing/ProcessorAsserts.java @@ -7,7 +7,6 @@ import java.util.ArrayList; import java.util.List; import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.function.Executable; /** * Assertion helpers for processor tests. Centralizes common positive and negative checks and @@ -74,23 +73,19 @@ public static NotContainsAssertRecord notContains(String search) { /** Assert that generated code matches all provided checks (positive or negative). */ public static void assertingResult(String generatedCode, AssertRecord... checks) { - List executables = new ArrayList<>(); String normalizedGenerated = normalizeWhitespace(generatedCode); + List failures = new ArrayList<>(); + for (AssertRecord check : checks) { - String normalizedSearch = normalizeWhitespace(check.search()); - if (check instanceof ContainsAssertRecord) { - executables.add( - () -> - Assertions.assertTrue( - normalizedGenerated.contains(normalizedSearch), check.message())); - } else if (check instanceof NotContainsAssertRecord) { - executables.add( - () -> - Assertions.assertFalse( - normalizedGenerated.contains(normalizedSearch), check.message())); + if (isAssertNotFullfilled(check, normalizedGenerated)) { + failures.add(check.message()); } } - Assertions.assertAll(executables.toArray(new Executable[0])); + + if (!failures.isEmpty()) { + String combinedMessage = "\n" + String.join("\n", failures); + Assertions.fail(combinedMessage); + } } /** Convenience overload: accept plain strings and convert to NotContainsAssertRecord. */ @@ -133,4 +128,12 @@ public static void assertHadNoteContaining(Compilation compilation, String... no public static void assertNormalizedEquals(String expected, String actual, String message) { assertEquals(normalizeWhitespace(expected), normalizeWhitespace(actual), message); } + + private static boolean isAssertNotFullfilled(AssertRecord check, String normalizedGenerated) { + String normalizedSearch = normalizeWhitespace(check.search()); + return (check instanceof ContainsAssertRecord + && !normalizedGenerated.contains(normalizedSearch)) + || (check instanceof NotContainsAssertRecord + && normalizedGenerated.contains(normalizedSearch)); + } }