From 52513d6490a4c84c5a60f4232614f8222b9bdd57 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Mon, 15 Aug 2016 20:56:30 +0200 Subject: [PATCH] Rewrite test to use JUnit 4 --- .../sone/text/SoneTextParserTest.java | 59 +++++++++++----------- 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/src/test/java/net/pterodactylus/sone/text/SoneTextParserTest.java b/src/test/java/net/pterodactylus/sone/text/SoneTextParserTest.java index 7a06dcf..56e31ab 100644 --- a/src/test/java/net/pterodactylus/sone/text/SoneTextParserTest.java +++ b/src/test/java/net/pterodactylus/sone/text/SoneTextParserTest.java @@ -17,8 +17,12 @@ package net.pterodactylus.sone.text; +import static org.hamcrest.MatcherAssert.assertThat; +import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.isIn; +import static org.hamcrest.Matchers.notNullValue; + import java.io.IOException; -import java.util.Arrays; import java.util.Collection; import net.pterodactylus.sone.data.Sone; @@ -27,14 +31,14 @@ import net.pterodactylus.sone.database.SoneProvider; import com.google.common.base.Function; import com.google.common.base.Optional; -import junit.framework.TestCase; +import org.junit.Test; /** * JUnit test case for {@link SoneTextParser}. * * @author David ‘Bombe’ Roden */ -public class SoneTextParserTest extends TestCase { +public class SoneTextParserTest { // // ACTIONS @@ -47,24 +51,25 @@ public class SoneTextParserTest extends TestCase { * if an I/O error occurs */ @SuppressWarnings("static-method") + @Test public void testPlainText() throws IOException { SoneTextParser soneTextParser = new SoneTextParser(null, null); Iterable parts; /* check basic operation. */ parts = soneTextParser.parse("Test.", null); - assertNotNull("Parts", parts); - assertEquals("Part Text", "Test.", convertText(parts, PlainTextPart.class)); + assertThat("Parts", parts, notNullValue()); + assertThat("Part Text", "Test.", is(convertText(parts, PlainTextPart.class))); /* check empty lines at start and end. */ parts = soneTextParser.parse("\nTest.\n\n", null); - assertNotNull("Parts", parts); - assertEquals("Part Text", "Test.", convertText(parts, PlainTextPart.class)); + assertThat("Parts", parts, notNullValue()); + assertThat("Part Text", "Test.", is(convertText(parts, PlainTextPart.class))); /* check duplicate empty lines in the text. */ parts = soneTextParser.parse("\nTest.\n\n\nTest.", null); - assertNotNull("Parts", parts); - assertEquals("Part Text", "Test.\n\nTest.", convertText(parts, PlainTextPart.class)); + assertThat("Parts", parts, notNullValue()); + assertThat("Part Text", "Test.\n\nTest.", is(convertText(parts, PlainTextPart.class))); } /** @@ -74,24 +79,25 @@ public class SoneTextParserTest extends TestCase { * if an I/O error occurs */ @SuppressWarnings("static-method") + @Test public void testKSKLinks() throws IOException { SoneTextParser soneTextParser = new SoneTextParser(null, null); Iterable parts; /* check basic links. */ parts = soneTextParser.parse("KSK@gpl.txt", null); - assertNotNull("Parts", parts); - assertEquals("Part Text", "[KSK@gpl.txt|gpl.txt|gpl.txt]", convertText(parts, FreenetLinkPart.class)); + assertThat("Parts", parts, notNullValue()); + assertThat("Part Text", "[KSK@gpl.txt|gpl.txt|gpl.txt]", is(convertText(parts, FreenetLinkPart.class))); /* check embedded links. */ parts = soneTextParser.parse("Link is KSK@gpl.txt\u200b.", null); - assertNotNull("Parts", parts); - assertEquals("Part Text", "Link is [KSK@gpl.txt|gpl.txt|gpl.txt]\u200b.", convertText(parts, PlainTextPart.class, FreenetLinkPart.class)); + assertThat("Parts", parts, notNullValue()); + assertThat("Part Text", "Link is [KSK@gpl.txt|gpl.txt|gpl.txt]\u200b.", is(convertText(parts, PlainTextPart.class, FreenetLinkPart.class))); /* check embedded links and line breaks. */ parts = soneTextParser.parse("Link is KSK@gpl.txt\nKSK@test.dat\n", null); - assertNotNull("Parts", parts); - assertEquals("Part Text", "Link is [KSK@gpl.txt|gpl.txt|gpl.txt]\n[KSK@test.dat|test.dat|test.dat]", convertText(parts, PlainTextPart.class, FreenetLinkPart.class)); + assertThat("Parts", parts, notNullValue()); + assertThat("Part Text", "Link is [KSK@gpl.txt|gpl.txt|gpl.txt]\n[KSK@test.dat|test.dat|test.dat]", is(convertText(parts, PlainTextPart.class, FreenetLinkPart.class))); } /** @@ -101,14 +107,15 @@ public class SoneTextParserTest extends TestCase { * if an I/O error occurs */ @SuppressWarnings({ "synthetic-access", "static-method" }) + @Test public void testEmptyLinesAndSoneLinks() throws IOException { SoneTextParser soneTextParser = new SoneTextParser(new TestSoneProvider(), null); Iterable parts; /* check basic links. */ parts = soneTextParser.parse("Some text.\n\nLink to sone://DAxKQzS48mtaQc7sUVHIgx3fnWZPQBz0EueBreUVWrU and stuff.", null); - assertNotNull("Parts", parts); - assertEquals("Part Text", "Some text.\n\nLink to [Sone|DAxKQzS48mtaQc7sUVHIgx3fnWZPQBz0EueBreUVWrU] and stuff.", convertText(parts, PlainTextPart.class, SonePart.class)); + assertThat("Parts", parts, notNullValue()); + assertThat("Part Text", "Some text.\n\nLink to [Sone|DAxKQzS48mtaQc7sUVHIgx3fnWZPQBz0EueBreUVWrU] and stuff.", is(convertText(parts, PlainTextPart.class, SonePart.class))); } /** @@ -119,14 +126,15 @@ public class SoneTextParserTest extends TestCase { * if an I/O error occurs */ @SuppressWarnings({ "synthetic-access", "static-method" }) + @Test public void testEmpyHttpLinks() throws IOException { SoneTextParser soneTextParser = new SoneTextParser(new TestSoneProvider(), null); Iterable parts; /* check empty http links. */ parts = soneTextParser.parse("Some text. Empty link: http:// – nice!", null); - assertNotNull("Parts", parts); - assertEquals("Part Text", "Some text. Empty link: http:// – nice!", convertText(parts, PlainTextPart.class)); + assertThat("Parts", parts, notNullValue()); + assertThat("Part Text", "Some text. Empty link: http:// – nice!", is(convertText(parts, PlainTextPart.class))); } // @@ -147,16 +155,9 @@ public class SoneTextParserTest extends TestCase { private static String convertText(Iterable parts, Class... validClasses) { StringBuilder text = new StringBuilder(); for (Part part : parts) { - assertNotNull("Part", part); - boolean classValid = validClasses.length == 0; - for (Class validClass : validClasses) { - if (validClass.isAssignableFrom(part.getClass())) { - classValid = true; - break; - } - } - if (!classValid) { - fail("Part’s Class (" + part.getClass() + ") is not one of " + Arrays.toString(validClasses)); + assertThat("Part", part, notNullValue()); + if (validClasses.length != 0) { + assertThat("Part’s class", part.getClass(), isIn(validClasses)); } if (part instanceof PlainTextPart) { text.append(((PlainTextPart) part).getText()); -- 2.7.4