From 50ceb93b62ff3df38451fa4cad7ae110d02c8536 Mon Sep 17 00:00:00 2001 From: Gintas Grigelionis Date: Sat, 28 Apr 2018 22:13:25 +0200 Subject: [PATCH] Parametrize filter tests --- src/etc/testcases/filters/build.xml | 35 ++--- src/etc/testcases/filters/head-tail.xml | 9 +- .../tools/ant/filters/HeadTailTest.java | 133 +++++------------- .../tools/ant/filters/ReplaceTokensTest.java | 67 ++++----- 4 files changed, 88 insertions(+), 156 deletions(-) diff --git a/src/etc/testcases/filters/build.xml b/src/etc/testcases/filters/build.xml index b70b7786b..dc32ad05b 100644 --- a/src/etc/testcases/filters/build.xml +++ b/src/etc/testcases/filters/build.xml @@ -16,12 +16,13 @@ limitations under the License. --> + + - + - @@ -34,7 +35,7 @@ - + @@ -49,12 +50,12 @@ + file2="expected/negatelinecontains.test"/> - + @@ -71,16 +72,16 @@ - + - + - - + + @@ -90,8 +91,8 @@ - - + + @@ -101,8 +102,8 @@ - - + + @@ -112,8 +113,8 @@ - - + + @@ -123,8 +124,8 @@ - - + + diff --git a/src/etc/testcases/filters/head-tail.xml b/src/etc/testcases/filters/head-tail.xml index e0ffed741..3a8bc91d9 100644 --- a/src/etc/testcases/filters/head-tail.xml +++ b/src/etc/testcases/filters/head-tail.xml @@ -20,10 +20,9 @@ - + - @@ -59,7 +58,7 @@ - @@ -113,7 +112,7 @@ - @@ -135,7 +134,7 @@ - + diff --git a/src/tests/junit/org/apache/tools/ant/filters/HeadTailTest.java b/src/tests/junit/org/apache/tools/ant/filters/HeadTailTest.java index 31a84a3d7..b9b9358c5 100644 --- a/src/tests/junit/org/apache/tools/ant/filters/HeadTailTest.java +++ b/src/tests/junit/org/apache/tools/ant/filters/HeadTailTest.java @@ -20,12 +20,16 @@ package org.apache.tools.ant.filters; import java.io.File; import java.io.IOException; +import java.util.Arrays; +import java.util.Collection; import org.apache.tools.ant.BuildFileRule; import org.apache.tools.ant.FileUtilities; import org.junit.Before; import org.junit.Rule; import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; import static org.junit.Assert.assertEquals; @@ -34,8 +38,31 @@ import static org.junit.Assert.assertEquals; /* I wrote the testcases in one java file because I want also to test the * combined behaviour (see end of the class). */ +@RunWith(Parameterized.class) public class HeadTailTest { + @Parameterized.Parameters(name = "{0}") + public static Collection targets() { + return Arrays.asList(new Object [][] { + {"head", "head"}, + {"headLines", "headLines"}, + {"headSkip", "headSkip"}, + {"headLinesSkip", "headLinesSkip"}, + {"filterReaderHeadLinesSkip", "headLinesSkip"}, + {"tail", "tail"}, + {"tailSkip", "tailSkip"}, + {"tailLines", "tailLines"}, + {"tailLinesSkip", "tailLinesSkip"}, + {"filterReaderTailLinesSkip", "tailLinesSkip"}, + {"headTail", "headtail"}}); + } + + @Parameterized.Parameter + public String result; + + @Parameterized.Parameter(1) + public String input; + @Rule public BuildFileRule buildRule = new BuildFileRule(); @@ -45,102 +72,14 @@ public class HeadTailTest { } @Test - public void testHead() throws IOException { - buildRule.executeTarget("testHead"); - File expected = buildRule.getProject().resolveFile("expected/head-tail.head.test"); - File result = new File(buildRule.getProject().getProperty("output") + "/head-tail.head.test"); - assertEquals("testHead: Result not like expected", - FileUtilities.getFileContents(expected), FileUtilities.getFileContents(result)); - } - - @Test - public void testHeadLines() throws IOException { - buildRule.executeTarget("testHeadLines"); - File expected = buildRule.getProject().resolveFile("expected/head-tail.headLines.test"); - File result = new File(buildRule.getProject().getProperty("output") + "/head-tail.headLines.test"); - assertEquals("testHeadLines: Result not like expected", - FileUtilities.getFileContents(expected), FileUtilities.getFileContents(result)); - } - - @Test - public void testHeadSkip() throws IOException { - buildRule.executeTarget("testHeadSkip"); - File expected = buildRule.getProject().resolveFile("expected/head-tail.headSkip.test"); - File result = new File(buildRule.getProject().getProperty("output") + "/head-tail.headSkip.test"); - assertEquals("testHeadSkip: Result not like expected", - FileUtilities.getFileContents(expected), FileUtilities.getFileContents(result)); + public void test() throws IOException { + buildRule.executeTarget("test" + result.substring(0, 1).toUpperCase() + + result.substring(1)); + File expected = buildRule.getProject().resolveFile("expected/head-tail." + + input + ".test"); + File actual = new File(buildRule.getProject().getProperty("output") + + "/head-tail." + result + ".test"); + assertEquals(result + ": Result not like expected", + FileUtilities.getFileContents(expected), FileUtilities.getFileContents(actual)); } - - @Test - public void testHeadLinesSkip() throws IOException { - buildRule.executeTarget("testHeadLinesSkip"); - File expected = buildRule.getProject().resolveFile("expected/head-tail.headLinesSkip.test"); - File result = new File(buildRule.getProject().getProperty("output") + "/head-tail.headLinesSkip.test"); - assertEquals("testHeadLinesSkip: Result not like expected", - FileUtilities.getFileContents(expected), FileUtilities.getFileContents(result)); - } - - @Test - public void testFilterReaderHeadLinesSkip() throws IOException { - buildRule.executeTarget("testFilterReaderHeadLinesSkip"); - File expected = buildRule.getProject().resolveFile("expected/head-tail.headLinesSkip.test"); - File result = new File(buildRule.getProject().getProperty("output") + "/head-tail.filterReaderHeadLinesSkip.test"); - assertEquals("testFilterReaderHeadLinesSkip: Result not like expected", - FileUtilities.getFileContents(expected), FileUtilities.getFileContents(result)); - } - - @Test - public void testTail() throws IOException { - buildRule.executeTarget("testTail"); - File expected = buildRule.getProject().resolveFile("expected/head-tail.tail.test"); - File result = new File(buildRule.getProject().getProperty("output") + "/head-tail.tail.test"); - assertEquals("testTail: Result not like expected", - FileUtilities.getFileContents(expected), FileUtilities.getFileContents(result)); - } - - @Test - public void testTailLines() throws IOException { - buildRule.executeTarget("testTailLines"); - File expected = buildRule.getProject().resolveFile("expected/head-tail.tailLines.test"); - File result = new File(buildRule.getProject().getProperty("output") + "/head-tail.tailLines.test"); - assertEquals("testTailLines: Result not like expected", - FileUtilities.getFileContents(expected), FileUtilities.getFileContents(result)); - } - - @Test - public void testTailSkip() throws IOException { - buildRule.executeTarget("testTailSkip"); - File expected = buildRule.getProject().resolveFile("expected/head-tail.tailSkip.test"); - File result = new File(buildRule.getProject().getProperty("output") + "/head-tail.tailSkip.test"); - assertEquals("testTailSkip: Result not like expected", - FileUtilities.getFileContents(expected), FileUtilities.getFileContents(result)); - } - - @Test - public void testTailLinesSkip() throws IOException { - buildRule.executeTarget("testTailLinesSkip"); - File expected = buildRule.getProject().resolveFile("expected/head-tail.tailLinesSkip.test"); - File result = new File(buildRule.getProject().getProperty("output") + "/head-tail.tailLinesSkip.test"); - assertEquals("testTailLinesSkip: Result not like expected", - FileUtilities.getFileContents(expected), FileUtilities.getFileContents(result)); - } - - @Test - public void testFilterReaderTailLinesSkip() throws IOException { - buildRule.executeTarget("testFilterReaderTailLinesSkip"); - File expected = buildRule.getProject().resolveFile("expected/head-tail.tailLinesSkip.test"); - File result = new File(buildRule.getProject().getProperty("output") + "/head-tail.filterReaderTailLinesSkip.test"); - assertEquals("testFilterReaderTailLinesSkip: Result not like expected", - FileUtilities.getFileContents(expected), FileUtilities.getFileContents(result)); - } - - @Test - public void testHeadTail() throws IOException { - buildRule.executeTarget("testHeadTail"); - File expected = buildRule.getProject().resolveFile("expected/head-tail.headtail.test"); - File result = new File(buildRule.getProject().getProperty("output") + "/head-tail.headtail.test"); - assertEquals("testHeadTail: Result not like expected", - FileUtilities.getFileContents(expected), FileUtilities.getFileContents(result)); - } - } diff --git a/src/tests/junit/org/apache/tools/ant/filters/ReplaceTokensTest.java b/src/tests/junit/org/apache/tools/ant/filters/ReplaceTokensTest.java index 4db8d7a01..3b3dab9d9 100644 --- a/src/tests/junit/org/apache/tools/ant/filters/ReplaceTokensTest.java +++ b/src/tests/junit/org/apache/tools/ant/filters/ReplaceTokensTest.java @@ -20,17 +20,38 @@ package org.apache.tools.ant.filters; import java.io.File; import java.io.IOException; +import java.util.Arrays; +import java.util.Collection; import org.apache.tools.ant.BuildFileRule; import org.apache.tools.ant.FileUtilities; import org.junit.Before; import org.junit.Rule; import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.Parameterized; import static org.junit.Assert.assertEquals; +@RunWith(Parameterized.class) public class ReplaceTokensTest { + @Parameterized.Parameters(name = "{0}") + public static Collection targets() { + return Arrays.asList(new Object [][] { + {"replaceTokens", "replacetokens"}, + {"replaceTokensPropertyFile", "replacetokens"}, + {"replaceTokensDoubleEncoded", "replacetokens.double"}, + {"replaceTokensDoubleEncodedToSimple", "replacetokens"}, + {"replaceTokensMustacheStyle", "replacetokens"}}); + } + + @Parameterized.Parameter + public String result; + + @Parameterized.Parameter(1) + public String input; + @Rule public BuildFileRule buildRule = new BuildFileRule(); @@ -40,42 +61,14 @@ public class ReplaceTokensTest { } @Test - public void testReplaceTokens() throws IOException { - buildRule.executeTarget("testReplaceTokens"); - File expected = buildRule.getProject().resolveFile("expected/replacetokens.test"); - File result = new File(buildRule.getProject().getProperty("output"), "replacetokens.test"); - assertEquals(FileUtilities.getFileContents(expected), FileUtilities.getFileContents(result)); - } - - @Test - public void testReplaceTokensPropertyFile() throws IOException { - buildRule.executeTarget("testReplaceTokensPropertyFile"); - File expected = buildRule.getProject().resolveFile("expected/replacetokens.test"); - File result = new File(buildRule.getProject().getProperty("output"), "replacetokensPropertyFile.test"); - assertEquals(FileUtilities.getFileContents(expected), FileUtilities.getFileContents(result)); - } - - @Test - public void testReplaceTokensDoubleEncoded() throws IOException { - buildRule.executeTarget("testReplaceTokensDoubleEncoded"); - File expected = buildRule.getProject().resolveFile("expected/replacetokens.double.test"); - File result = new File(buildRule.getProject().getProperty("output"), "replacetokens.double.test"); - assertEquals(FileUtilities.getFileContents(expected), FileUtilities.getFileContents(result)); - } - - @Test - public void testReplaceTokensDoubleEncodedToSimple() throws IOException { - buildRule.executeTarget("testReplaceTokensDoubleEncodedToSimple"); - File expected = buildRule.getProject().resolveFile("expected/replacetokens.test"); - File result = new File(buildRule.getProject().getProperty("output"), "replacetokens.double.test"); - assertEquals(FileUtilities.getFileContents(expected), FileUtilities.getFileContents(result)); - } - - @Test - public void testReplaceTokensMustacheStyle() throws IOException { - buildRule.executeTarget("testReplaceTokensMustacheStyle"); - File expected = buildRule.getProject().resolveFile("expected/replacetokens.test"); - File result = new File(buildRule.getProject().getProperty("output"), "replacetokens.mustache.test"); - assertEquals(FileUtilities.getFileContents(expected), FileUtilities.getFileContents(result)); + public void test() throws IOException { + buildRule.executeTarget("test" + result.substring(0, 1).toUpperCase() + + result.substring(1)); + File expected = buildRule.getProject().resolveFile("expected/" + + input + ".test"); + File actual = new File(buildRule.getProject().getProperty("output") + + "/" + result + ".test"); + assertEquals(result + ": Result not like expected", + FileUtilities.getFileContents(expected), FileUtilities.getFileContents(actual)); } }