commit e087bc6d8112174dab031b4e4f8600046a6f813a Author: Brian Long Date: Fri Jan 8 13:45:55 2021 -0500 initial checkin diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a436cfa --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +# Maven +pom.xml.versionsBackup + +# Eclipse +.project +.classpath +.settings +target + diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..4c3a463 --- /dev/null +++ b/pom.xml @@ -0,0 +1,57 @@ + + 4.0.0 + com.inteligr8 + junit5-ext + 1.0-SNAPSHOT + jar + + Reusable JUnit5 Extensions + + + 1.8 + 1.8 + 5.7.0 + [1.3, 1.4) + + + + + + org.junit.jupiter + junit-jupiter-api + ${junit.version} + + + + + + + maven-surefire-plugin + 2.22.2 + + + org.junit.platform + junit-platform-surefire-provider + ${junit-platform-provider.version} + + + org.junit.jupiter + junit-jupiter-engine + ${junit.version} + + + + + + + + + inteligr8-releases + Inteligr8 Releases + http://repos.yateslong.us/nexus/repository/inteligr8-public + default + + + diff --git a/src/main/java/com/inteligr8/junit5/AssertCollection.java b/src/main/java/com/inteligr8/junit5/AssertCollection.java new file mode 100644 index 0000000..7834d83 --- /dev/null +++ b/src/main/java/com/inteligr8/junit5/AssertCollection.java @@ -0,0 +1,34 @@ +package com.inteligr8.junit5; + +import java.util.Collection; + +import org.junit.jupiter.api.Assertions; + +public class AssertCollection { + + public static void assertSize(int expectedCount, Collection actualCollection) { + assertSize(expectedCount, actualCollection, null); + } + + public static void assertSize(int expectedCount, Collection actualCollection, String message) { + if (expectedCount == 0) Assertions.assertTrue(actualCollection == null || actualCollection.isEmpty(), message); + else Assertions.assertTrue(actualCollection != null && actualCollection.size() == expectedCount, message); + } + + public static void assertContains(T expectedElement, Collection actualCollection) { + assertContains(expectedElement, actualCollection, null); + } + + public static void assertContains(Collection expectedElements, Collection actualCollection) { + assertContains(expectedElements, actualCollection, null); + } + + public static void assertContains(T expectedElement, Collection actualCollection, String message) { + Assertions.assertTrue(actualCollection != null && actualCollection.contains(expectedElement), message); + } + + public static void assertContains(Collection expectedElements, Collection actualCollection, String message) { + Assertions.assertTrue(actualCollection != null && actualCollection.containsAll(expectedElements), message); + } + +} diff --git a/src/main/java/com/inteligr8/junit5/AssertRegex.java b/src/main/java/com/inteligr8/junit5/AssertRegex.java new file mode 100644 index 0000000..53e019d --- /dev/null +++ b/src/main/java/com/inteligr8/junit5/AssertRegex.java @@ -0,0 +1,77 @@ +package com.inteligr8.junit5; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.junit.jupiter.api.Assertions; + +public class AssertRegex { + + public static void assertMatches(String expectedRegex, String actual) { + assertMatches(expectedRegex, actual, null); + } + + public static void assertMatches(String expectedRegex, String actual, String message) { + Pattern pattern = Pattern.compile(expectedRegex); + assertMatches(pattern, actual, message); + } + + public static void assertMatches(Pattern expected, String actual) { + assertMatches(expected, actual, null); + } + + public static void assertMatches(Pattern expected, String actual, String message) { + assertMatches(false, expected, actual, message); + } + + public static void assertNotMatches(String expectedRegex, String actual) { + assertNotMatches(expectedRegex, actual, null); + } + + public static void assertNotMatches(String expectedRegex, String actual, String message) { + Pattern pattern = Pattern.compile(expectedRegex); + assertNotMatches(pattern, actual, message); + } + + public static void assertNotMatches(Pattern expected, String actual) { + assertNotMatches(expected, actual, null); + } + + public static void assertNotMatches(Pattern expected, String actual, String message) { + assertMatches(true, expected, actual, message); + } + + private static void assertMatches(boolean negate, Pattern expected, String actual, String message) { + Matcher matcher = expected.matcher(actual); + if (matcher.matches() == negate) { + message = message == null ? "" : (message + "; "); + message += "expression of expected string: <" + expected.toString() + "> but actual string: <" + actual + ">"; + Assertions.fail(message); + } + } + + + + public static void assertFind(String expectedRegex, int expectedCount, String actual) { + assertFind(expectedRegex, expectedCount, actual, null); + } + + public static void assertFind(String expectedRegex, int expectedCount, String actual, String message) { + Pattern pattern = Pattern.compile(expectedRegex); + assertFind(pattern, expectedCount, actual, message); + } + + public static void assertFind(Pattern expected, int expectedCount, String actual) { + assertFind(expected, expectedCount, actual, null); + } + + public static void assertFind(Pattern expected, int expectedCount, String actual, String message) { + Matcher matcher = expected.matcher(actual); + int count = 0; + for (count = 0; matcher.find(); count++) + ; + if (expectedCount < 0) Assertions.assertTrue(-expectedCount <= count, message); + else Assertions.assertEquals(expectedCount, count, message); + } + +}