From f4afb63f324b58641426782291a3d62de568f808 Mon Sep 17 00:00:00 2001 From: EpicKnarvik97 Date: Sat, 9 May 2020 01:49:42 +0200 Subject: [PATCH] Adds some tests to ListUtil, Parser and StringUtil --- .../{ => converter}/AnimeConverterTest.java | 3 +- .../ffmpegconverter/utility/ListUtilTest.java | 61 +++++++++++++++++++ .../ffmpegconverter/utility/ParserTest.java | 23 +++++++ .../utility/StringUtilTest.java | 28 +++++++++ 4 files changed, 113 insertions(+), 2 deletions(-) rename src/test/java/net/knarcraft/ffmpegconverter/{ => converter}/AnimeConverterTest.java (81%) create mode 100644 src/test/java/net/knarcraft/ffmpegconverter/utility/ListUtilTest.java create mode 100644 src/test/java/net/knarcraft/ffmpegconverter/utility/ParserTest.java create mode 100644 src/test/java/net/knarcraft/ffmpegconverter/utility/StringUtilTest.java diff --git a/src/test/java/net/knarcraft/ffmpegconverter/AnimeConverterTest.java b/src/test/java/net/knarcraft/ffmpegconverter/converter/AnimeConverterTest.java similarity index 81% rename from src/test/java/net/knarcraft/ffmpegconverter/AnimeConverterTest.java rename to src/test/java/net/knarcraft/ffmpegconverter/converter/AnimeConverterTest.java index fb3e084..ed69875 100644 --- a/src/test/java/net/knarcraft/ffmpegconverter/AnimeConverterTest.java +++ b/src/test/java/net/knarcraft/ffmpegconverter/converter/AnimeConverterTest.java @@ -1,6 +1,5 @@ -package net.knarcraft.ffmpegconverter; +package net.knarcraft.ffmpegconverter.converter; -import net.knarcraft.ffmpegconverter.converter.AnimeConverter; import org.junit.Before; import org.junit.Test; diff --git a/src/test/java/net/knarcraft/ffmpegconverter/utility/ListUtilTest.java b/src/test/java/net/knarcraft/ffmpegconverter/utility/ListUtilTest.java new file mode 100644 index 0000000..137c45f --- /dev/null +++ b/src/test/java/net/knarcraft/ffmpegconverter/utility/ListUtilTest.java @@ -0,0 +1,61 @@ +package net.knarcraft.ffmpegconverter.utility; + +import org.junit.BeforeClass; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.List; + +import static junit.framework.TestCase.assertEquals; +import static org.junit.Assert.assertArrayEquals; + +public class ListUtilTest { + private static List matchesList; + + @BeforeClass + public static void setUp() { + matchesList = new ArrayList<>(); + matchesList.add(5); + matchesList.add(7); + matchesList.add(9); + matchesList.add(11); + matchesList.add(13); + matchesList.add(15); + matchesList.add(17); + matchesList.add(19); + matchesList.add(21); + matchesList.add(23); + } + + @Test + public void concatenate() { + Integer[] list1 = new Integer[]{5, 2, 34, 56, 12, 78, 43, 4, 2, 43}; + Integer[] list2 = new Integer[]{7, 5, 2, 35, 234, 6, 1, 23, 76, 45, 4}; + Integer[] expected = new Integer[]{5, 2, 34, 56, 12, 78, 43, 4, 2, 43, 7, 5, 2, 35, 234, 6, 1, 23, 76, 45, 4}; + Integer[] result = ListUtil.concatenate(list1, list2); + assertArrayEquals(expected, result); + } + + @Test + public void getMatchingNoMatches() { + List result = ListUtil.getMatching(matchesList, (item) -> item % 2 == 0); + assertEquals(new ArrayList<>(), result); + } + + @Test + public void getMatchingAllMatches() { + List result = ListUtil.getMatching(matchesList, (item) -> item % 2 != 0); + assertEquals(matchesList, result); + } + + @Test + public void getMatchingSomeMatches() { + List result = ListUtil.getMatching(matchesList, (item) -> item < 10); + List expected = new ArrayList<>(); + expected.add(5); + expected.add(7); + expected.add(9); + assertEquals(expected, result); + } + +} diff --git a/src/test/java/net/knarcraft/ffmpegconverter/utility/ParserTest.java b/src/test/java/net/knarcraft/ffmpegconverter/utility/ParserTest.java new file mode 100644 index 0000000..4c4e1e8 --- /dev/null +++ b/src/test/java/net/knarcraft/ffmpegconverter/utility/ParserTest.java @@ -0,0 +1,23 @@ +package net.knarcraft.ffmpegconverter.utility; + +import org.junit.Test; + +import java.util.ArrayList; +import java.util.List; + +import static junit.framework.TestCase.assertEquals; + +public class ParserTest { + + @Test + public void tokenize() { + List tokens = Parser.tokenize("arg1 \"arg 2 long\" arg3 \"arg 4\""); + List expected = new ArrayList<>(); + expected.add("arg1"); + expected.add("arg 2 long"); + expected.add("arg3"); + expected.add("arg 4"); + assertEquals(expected, tokens); + } + +} diff --git a/src/test/java/net/knarcraft/ffmpegconverter/utility/StringUtilTest.java b/src/test/java/net/knarcraft/ffmpegconverter/utility/StringUtilTest.java new file mode 100644 index 0000000..c3d9115 --- /dev/null +++ b/src/test/java/net/knarcraft/ffmpegconverter/utility/StringUtilTest.java @@ -0,0 +1,28 @@ +package net.knarcraft.ffmpegconverter.utility; + +import org.junit.Test; + +import static org.junit.Assert.assertArrayEquals; + +public class StringUtilTest { + + @Test + public void stringBetweenNoMatches() { + String[] result = StringUtil.stringBetween("a test string", "[", "]"); + assertArrayEquals(new String[]{}, result); + } + + @Test + public void stringBetweenOneMatch() { + String[] result = StringUtil.stringBetween("a [test] string", "[", "]"); + assertArrayEquals(new String[]{"test"}, result); + } + + @Test + public void stringBetweenSeveralMatches() { + String[] result = StringUtil.stringBetween("a long string containing a lot of potential matches for " + + "the string between method defined in the StringUtil class", " ", "a"); + assertArrayEquals(new String[]{"long string cont", "", "lot of potenti", "m", + "for the string between method defined in the StringUtil cl"}, result); + } +}