From b863d3749e3fd7af1b72a28c80c86bf879c0698b Mon Sep 17 00:00:00 2001 From: Brian Long Date: Fri, 8 Jan 2021 13:48:31 -0500 Subject: [PATCH] initial checkin --- .gitignore | 9 +++ pom.xml | 33 ++++++++ .../inteligr8/junit4/AssertCollection.java | 34 ++++++++ .../com/inteligr8/junit4/AssertRegex.java | 77 +++++++++++++++++++ 4 files changed, 153 insertions(+) create mode 100644 .gitignore create mode 100644 pom.xml create mode 100644 src/main/java/com/inteligr8/junit4/AssertCollection.java create mode 100644 src/main/java/com/inteligr8/junit4/AssertRegex.java 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..a37172f --- /dev/null +++ b/pom.xml @@ -0,0 +1,33 @@ + + 4.0.0 + com.inteligr8 + junit4-ext + 1.0-SNAPSHOT + jar + + Reusable JUnit4 Extensions + + + 1.7 + 1.7 + + + + + junit + junit + 4.13 + + + + + + inteligr8-releases + Inteligr8 Releases + http://repos.yateslong.us/nexus/repository/inteligr8-public + default + + + diff --git a/src/main/java/com/inteligr8/junit4/AssertCollection.java b/src/main/java/com/inteligr8/junit4/AssertCollection.java new file mode 100644 index 0000000..d35fb34 --- /dev/null +++ b/src/main/java/com/inteligr8/junit4/AssertCollection.java @@ -0,0 +1,34 @@ +package com.inteligr8.junit4; + +import java.util.Collection; + +import org.junit.Assert; + +public class AssertCollection { + + public static void assertSize(int expectedCount, Collection actualCollection) { + assertSize(null, expectedCount, actualCollection); + } + + public static void assertSize(String message, int expectedCount, Collection actualCollection) { + if (expectedCount == 0) Assert.assertTrue(message, actualCollection == null || actualCollection.isEmpty()); + else Assert.assertTrue(message, actualCollection != null && actualCollection.size() == expectedCount); + } + + public static void assertContains(T expectedElement, Collection actualCollection) { + assertContains(null, expectedElement, actualCollection); + } + + public static void assertContains(Collection expectedElements, Collection actualCollection) { + assertContains(null, expectedElements, actualCollection); + } + + public static void assertContains(String message, T expectedElement, Collection actualCollection) { + Assert.assertTrue(message, actualCollection != null && actualCollection.contains(expectedElement)); + } + + public static void assertContains(String message, Collection expectedElements, Collection actualCollection) { + Assert.assertTrue(message, actualCollection != null && actualCollection.containsAll(expectedElements)); + } + +} diff --git a/src/main/java/com/inteligr8/junit4/AssertRegex.java b/src/main/java/com/inteligr8/junit4/AssertRegex.java new file mode 100644 index 0000000..2e86f54 --- /dev/null +++ b/src/main/java/com/inteligr8/junit4/AssertRegex.java @@ -0,0 +1,77 @@ +package com.inteligr8.junit4; + +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.junit.Assert; + +public class AssertRegex { + + public static void assertMatches(String expectedRegex, String actual) { + assertMatches(null, expectedRegex, actual); + } + + public static void assertMatches(String message, String expectedRegex, String actual) { + Pattern pattern = Pattern.compile(expectedRegex); + assertMatches(message, pattern, actual); + } + + public static void assertMatches(Pattern expected, String actual) { + assertMatches(null, expected, actual); + } + + public static void assertMatches(String message, Pattern expected, String actual) { + assertMatches(message, false, expected, actual); + } + + public static void assertNotMatches(String expectedRegex, String actual) { + assertNotMatches(null, expectedRegex, actual); + } + + public static void assertNotMatches(String message, String expectedRegex, String actual) { + Pattern pattern = Pattern.compile(expectedRegex); + assertNotMatches(message, pattern, actual); + } + + public static void assertNotMatches(Pattern expected, String actual) { + assertNotMatches(null, expected, actual); + } + + public static void assertNotMatches(String message, Pattern expected, String actual) { + assertMatches(message, true, expected, actual); + } + + private static void assertMatches(String message, boolean negate, Pattern expected, String actual) { + Matcher matcher = expected.matcher(actual); + if (matcher.matches() == negate) { + message = message == null ? "" : (message + "; "); + message += "expression of expected string: <" + expected.toString() + "> but actual string: <" + actual + ">"; + Assert.fail(message); + } + } + + + + public static void assertFind(String expectedRegex, int expectedCount, String actual) { + assertFind(null, expectedRegex, expectedCount, actual); + } + + public static void assertFind(String message, String expectedRegex, int expectedCount, String actual) { + Pattern pattern = Pattern.compile(expectedRegex); + assertFind(message, pattern, expectedCount, actual); + } + + public static void assertFind(Pattern expected, int expectedCount, String actual) { + assertFind(null, expected, expectedCount, actual); + } + + public static void assertFind(String message, Pattern expected, int expectedCount, String actual) { + Matcher matcher = expected.matcher(actual); + int count = 0; + for (count = 0; matcher.find(); count++) + ; + if (expectedCount < 0) Assert.assertTrue(message, -expectedCount <= count); + else Assert.assertEquals(message, expectedCount, count); + } + +}