From 9bc40eccd48e253288bce9d7bf43e51a38de4050 Mon Sep 17 00:00:00 2001 From: Reinhard Pointner Date: Sun, 13 Mar 2016 13:32:26 +0000 Subject: [PATCH] SubstringFields and update unit tests --- .../filebot/similarity/EpisodeMetrics.java | 2 +- test/net/filebot/AllTests.java | 8 ++-- .../filebot/format/ExpressionFormatTest.java | 18 ++------- .../similarity/EpisodeMetricsTest.java | 6 +-- .../NumericSimilarityMetricTest.java | 4 +- .../similarity/SeasonEpisodeMatcherTest.java | 5 ++- .../similarity/SeriesNameMatcherTest.java | 12 +++--- .../filebot/subtitle/SubRipReaderTest.java | 38 ------------------- .../subtitle/SubtitleReaderTestSuite.java | 4 +- .../net/filebot/ui/rename/MatchModelTest.java | 3 +- .../net/filebot/util/PreferencesListTest.java | 4 +- test/net/filebot/util/PreferencesMapTest.java | 6 +-- test/net/filebot/util/UtilTestSuite.java | 2 +- test/net/filebot/web/AnidbClientTest.java | 14 +++---- test/net/filebot/web/OMDbClientTest.java | 4 +- .../filebot/web/OpenSubtitlesXmlRpcTest.java | 14 +++---- test/net/filebot/web/TMDbClientTest.java | 4 +- test/net/filebot/web/TheTVDBClientTest.java | 4 +- 18 files changed, 52 insertions(+), 100 deletions(-) delete mode 100644 test/net/filebot/subtitle/SubRipReaderTest.java diff --git a/source/net/filebot/similarity/EpisodeMetrics.java b/source/net/filebot/similarity/EpisodeMetrics.java index 5e2048fe..bcbded3f 100644 --- a/source/net/filebot/similarity/EpisodeMetrics.java +++ b/source/net/filebot/similarity/EpisodeMetrics.java @@ -196,7 +196,7 @@ public enum EpisodeMetrics implements SimilarityMetric { protected String[] normalize(Object[] objects) { String[] names = new String[objects.length]; for (int i = 0; i < objects.length; i++) { - names[i] = normalizeObject(objects[i]).replaceAll("\\s", ""); + names[i] = replaceSpace((normalizeObject(objects[i])), " "); // we're only matching between word boundaries } return names; } diff --git a/test/net/filebot/AllTests.java b/test/net/filebot/AllTests.java index 99dfd658..78d2e6c8 100644 --- a/test/net/filebot/AllTests.java +++ b/test/net/filebot/AllTests.java @@ -1,5 +1,9 @@ package net.filebot; +import org.junit.runner.RunWith; +import org.junit.runners.Suite; +import org.junit.runners.Suite.SuiteClasses; + import net.filebot.format.ExpressionFormatTest; import net.filebot.hash.VerificationFormatTest; import net.filebot.media.MediaDetectionTest; @@ -11,10 +15,6 @@ import net.filebot.ui.rename.MatchModelTest; import net.filebot.util.UtilTestSuite; import net.filebot.web.WebTestSuite; -import org.junit.runner.RunWith; -import org.junit.runners.Suite; -import org.junit.runners.Suite.SuiteClasses; - @RunWith(Suite.class) @SuiteClasses({ SimilarityTestSuite.class, WebTestSuite.class, ExpressionFormatTest.class, VerificationFormatTest.class, MatchModelTest.class, EpisodeMetricsTest.class, SubtitleReaderTestSuite.class, ReleaseInfoTest.class, MediaDetectionTest.class, UtilTestSuite.class }) public class AllTests { diff --git a/test/net/filebot/format/ExpressionFormatTest.java b/test/net/filebot/format/ExpressionFormatTest.java index cbb0e2c3..40e6f3b5 100644 --- a/test/net/filebot/format/ExpressionFormatTest.java +++ b/test/net/filebot/format/ExpressionFormatTest.java @@ -1,7 +1,6 @@ package net.filebot.format; - import static org.junit.Assert.*; import javax.script.Bindings; @@ -11,7 +10,6 @@ import javax.script.SimpleBindings; import org.junit.Test; - public class ExpressionFormatTest { @Test @@ -26,7 +24,6 @@ public class ExpressionFormatTest { assertTrue(expression[3] instanceof CompiledScript); } - @Test public void format() throws Exception { assertEquals("X5-452", new TestScriptFormat("X5-{value}").format("452")); @@ -56,17 +53,15 @@ public class ExpressionFormatTest { assertEquals("Today Is the Day, Part 1", new TestScriptFormat("{value.replacePart(', Part $1')}").format("Today Is the Day: part 1")); // choice - assertEquals("not to be", new TestScriptFormat("{value ? 'to be' : 'not to be'}").format(null)); - assertEquals("default", new TestScriptFormat("{value ?: 'default'}").format(null)); + assertEquals("not to be", new TestScriptFormat("{value ? 'to be' : 'not to be'}").format(false)); + assertEquals("default", new TestScriptFormat("{value ?: 'default'}").format(false)); } - @Test public void closures() throws Exception { assertEquals("[ant, cat]", new TestScriptFormat("{['ant', 'buffalo', 'cat', 'dinosaur'].findAll{ it.size() <= 3 }}").format(null)); } - @Test public void illegalSyntax() throws Exception { try { @@ -80,7 +75,6 @@ public class ExpressionFormatTest { } } - @Test public void illegalClosingBracket() throws Exception { try { @@ -94,34 +88,30 @@ public class ExpressionFormatTest { } } - @Test public void illegalBinding() throws Exception { TestScriptFormat format = new TestScriptFormat("{xyz}"); format.format(new SimpleBindings()); // check message - assertEquals("BindingException: \"xyz\": undefined", format.caughtScriptException().getMessage()); + assertEquals("Binding \"xyz\": undefined", format.caughtScriptException().getMessage()); } - @Test public void illegalProperty() throws Exception { TestScriptFormat format = new TestScriptFormat("{value.xyz}"); format.format("test"); // check message - assertEquals("BindingException: \"xyz\": undefined", format.caughtScriptException().getMessage()); + assertEquals("Binding \"xyz\": undefined", format.caughtScriptException().getMessage()); } - protected static class TestScriptFormat extends ExpressionFormat { public TestScriptFormat(String format) throws ScriptException { super(format); } - @Override public Bindings getBindings(Object value) { Bindings bindings = new SimpleBindings(); diff --git a/test/net/filebot/similarity/EpisodeMetricsTest.java b/test/net/filebot/similarity/EpisodeMetricsTest.java index 835034df..e2153c05 100644 --- a/test/net/filebot/similarity/EpisodeMetricsTest.java +++ b/test/net/filebot/similarity/EpisodeMetricsTest.java @@ -7,10 +7,10 @@ import java.io.File; import java.util.ArrayList; import java.util.List; -import net.filebot.web.Episode; - import org.junit.Test; +import net.filebot.web.Episode; + public class EpisodeMetricsTest { @Test @@ -50,7 +50,7 @@ public class EpisodeMetricsTest { episodes.add(new Episode("Greek", 1, 19, "No Campus for Old Rules")); SimilarityMetric[] metrics = new SimilarityMetric[] { EpisodeIdentifier, SubstringFields }; - List> m = new Matcher(files, episodes, true, metrics).match(); + List> m = new Matcher(files, episodes, false, metrics).match(); assertEquals("Greek - S01E19 - No Campus for Old Rules", m.get(0).getValue().getName()); assertEquals("Greek - 1x19 - No Campus for Old Rules", m.get(0).getCandidate().toString()); diff --git a/test/net/filebot/similarity/NumericSimilarityMetricTest.java b/test/net/filebot/similarity/NumericSimilarityMetricTest.java index e34e617c..75b3f12e 100644 --- a/test/net/filebot/similarity/NumericSimilarityMetricTest.java +++ b/test/net/filebot/similarity/NumericSimilarityMetricTest.java @@ -8,13 +8,13 @@ import java.util.Collection; import java.util.LinkedHashMap; import java.util.Map; -import net.filebot.util.TestUtil; - import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; +import net.filebot.util.TestUtil; + @RunWith(Parameterized.class) public class NumericSimilarityMetricTest { diff --git a/test/net/filebot/similarity/SeasonEpisodeMatcherTest.java b/test/net/filebot/similarity/SeasonEpisodeMatcherTest.java index b9a38315..ebc541a9 100644 --- a/test/net/filebot/similarity/SeasonEpisodeMatcherTest.java +++ b/test/net/filebot/similarity/SeasonEpisodeMatcherTest.java @@ -3,11 +3,12 @@ package net.filebot.similarity; import static java.util.Arrays.*; import static net.filebot.similarity.SeasonEpisodeMatcher.SxE.*; import static org.junit.Assert.*; -import net.filebot.media.MediaDetection; -import net.filebot.similarity.SeasonEpisodeMatcher.SxE; import org.junit.Test; +import net.filebot.media.MediaDetection; +import net.filebot.similarity.SeasonEpisodeMatcher.SxE; + public class SeasonEpisodeMatcherTest { private static SeasonEpisodeMatcher matcher = new SeasonEpisodeMatcher(SeasonEpisodeMatcher.DEFAULT_SANITY, false); diff --git a/test/net/filebot/similarity/SeriesNameMatcherTest.java b/test/net/filebot/similarity/SeriesNameMatcherTest.java index 47ce9130..b5bcea82 100644 --- a/test/net/filebot/similarity/SeriesNameMatcherTest.java +++ b/test/net/filebot/similarity/SeriesNameMatcherTest.java @@ -1,13 +1,17 @@ package net.filebot.similarity; import static org.junit.Assert.*; -import net.filebot.similarity.SeriesNameMatcher.SeriesNameCollection; + +import java.util.Locale; import org.junit.Test; +import net.filebot.media.SmartSeasonEpisodeMatcher; +import net.filebot.similarity.SeriesNameMatcher.SeriesNameCollection; + public class SeriesNameMatcherTest { - SeriesNameMatcher matcher = new SeriesNameMatcher(true); + SeriesNameMatcher matcher = new SeriesNameMatcher(new SmartSeasonEpisodeMatcher(SeasonEpisodeMatcher.DEFAULT_SANITY, true), new DateMatcher(DateMatcher.DEFAULT_SANITY, Locale.ENGLISH)); @Test public void whitelist() { @@ -28,9 +32,7 @@ public class SeriesNameMatcherTest { @Test public void matchBeforeSeasonEpisodePattern() { assertEquals("The Test", matcher.matchByEpisodeIdentifier("The Test - 1x01")); - - // real world test - assertEquals("Mushishi", matcher.matchByEpisodeIdentifier("[niizk]_Mushishi_-_1x01_-_The_Green_Gathering")); + assertEquals("Mushishi", matcher.matchByEpisodeIdentifier("Mushishi_-_1x01_-_The_Green_Gathering")); } @Test diff --git a/test/net/filebot/subtitle/SubRipReaderTest.java b/test/net/filebot/subtitle/SubRipReaderTest.java deleted file mode 100644 index a4d416be..00000000 --- a/test/net/filebot/subtitle/SubRipReaderTest.java +++ /dev/null @@ -1,38 +0,0 @@ - -package net.filebot.subtitle; - - -import static org.junit.Assert.*; - -import java.io.InputStream; -import java.io.InputStreamReader; -import java.net.URL; -import java.util.ArrayList; -import java.util.List; -import java.util.zip.GZIPInputStream; - -import org.junit.Test; - - -public class SubRipReaderTest { - - @Test - public void parse() throws Exception { - List list = new ArrayList(); - - URL resource = new URL("http://www.opensubtitles.org/en/download/file/1951733951.gz"); - InputStream source = new GZIPInputStream(resource.openStream()); - - SubRipReader reader = new SubRipReader(new InputStreamReader(source, "UTF-8")); - - try { - while (reader.hasNext()) { - list.add(reader.next()); - } - } finally { - reader.close(); - } - - assertEquals(501, list.size(), 0); - } -} diff --git a/test/net/filebot/subtitle/SubtitleReaderTestSuite.java b/test/net/filebot/subtitle/SubtitleReaderTestSuite.java index e4074a6e..175fb05c 100644 --- a/test/net/filebot/subtitle/SubtitleReaderTestSuite.java +++ b/test/net/filebot/subtitle/SubtitleReaderTestSuite.java @@ -1,14 +1,12 @@ package net.filebot.subtitle; - import org.junit.runner.RunWith; import org.junit.runners.Suite; import org.junit.runners.Suite.SuiteClasses; - @RunWith(Suite.class) -@SuiteClasses( { SubRipReaderTest.class, MicroDVDReaderTest.class }) +@SuiteClasses({ MicroDVDReaderTest.class }) public class SubtitleReaderTestSuite { } diff --git a/test/net/filebot/ui/rename/MatchModelTest.java b/test/net/filebot/ui/rename/MatchModelTest.java index cac71639..fe345644 100644 --- a/test/net/filebot/ui/rename/MatchModelTest.java +++ b/test/net/filebot/ui/rename/MatchModelTest.java @@ -8,11 +8,10 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import net.filebot.similarity.Match; - import org.junit.Test; import ca.odell.glazedlists.GlazedLists; +import net.filebot.similarity.Match; public class MatchModelTest { diff --git a/test/net/filebot/util/PreferencesListTest.java b/test/net/filebot/util/PreferencesListTest.java index 6a21c3d3..1e1748d0 100644 --- a/test/net/filebot/util/PreferencesListTest.java +++ b/test/net/filebot/util/PreferencesListTest.java @@ -8,12 +8,12 @@ import java.util.ArrayList; import java.util.List; import java.util.prefs.Preferences; -import net.filebot.util.PreferencesMap.SimpleAdapter; - import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; +import net.filebot.util.PreferencesMap.SimpleAdapter; + public class PreferencesListTest { diff --git a/test/net/filebot/util/PreferencesMapTest.java b/test/net/filebot/util/PreferencesMapTest.java index a0945627..d466360a 100644 --- a/test/net/filebot/util/PreferencesMapTest.java +++ b/test/net/filebot/util/PreferencesMapTest.java @@ -11,13 +11,13 @@ import java.util.Map; import java.util.Map.Entry; import java.util.prefs.Preferences; -import net.filebot.util.PreferencesMap.SerializableAdapter; -import net.filebot.util.PreferencesMap.SimpleAdapter; - import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; +import net.filebot.util.PreferencesMap.SerializableAdapter; +import net.filebot.util.PreferencesMap.SimpleAdapter; + public class PreferencesMapTest { diff --git a/test/net/filebot/util/UtilTestSuite.java b/test/net/filebot/util/UtilTestSuite.java index d2667e49..ab72b8ec 100644 --- a/test/net/filebot/util/UtilTestSuite.java +++ b/test/net/filebot/util/UtilTestSuite.java @@ -5,7 +5,7 @@ import org.junit.runners.Suite; import org.junit.runners.Suite.SuiteClasses; @RunWith(Suite.class) -@SuiteClasses({ FileUtilitiesTest.class, ByteBufferOutputStreamTest.class, PreferencesMapTest.class, PreferencesListTest.class, TreeIteratorTest.class, FilterIteratorTest.class, StringUtilities.class }) +@SuiteClasses({ FileUtilitiesTest.class, ByteBufferOutputStreamTest.class, PreferencesMapTest.class, PreferencesListTest.class, TreeIteratorTest.class, FilterIteratorTest.class, StringUtilitiesTest.class }) public class UtilTestSuite { } diff --git a/test/net/filebot/web/AnidbClientTest.java b/test/net/filebot/web/AnidbClientTest.java index fe9b4e44..0b6daf53 100644 --- a/test/net/filebot/web/AnidbClientTest.java +++ b/test/net/filebot/web/AnidbClientTest.java @@ -10,20 +10,22 @@ import org.junit.Test; public class AnidbClientTest { + static AnidbClient anidb = new AnidbClient("filebot", 6); + /** * 74 episodes */ - private static AnidbSearchResult monsterSearchResult; + static AnidbSearchResult monsterSearchResult; /** * 45 episodes */ - private static AnidbSearchResult twelvekingdomsSearchResult; + static AnidbSearchResult twelvekingdomsSearchResult; /** * 38 episodes, lots of special characters */ - private static AnidbSearchResult princessTutuSearchResult; + static AnidbSearchResult princessTutuSearchResult; @BeforeClass public static void setUpBeforeClass() throws Exception { @@ -32,8 +34,6 @@ public class AnidbClientTest { princessTutuSearchResult = new AnidbSearchResult(516, "Princess Tutu", null); } - private AnidbClient anidb = new AnidbClient("filebot", 6); - @Test public void getAnimeTitles() throws Exception { List animeTitles = anidb.getAnimeTitles(); @@ -87,7 +87,7 @@ public class AnidbClientTest { public void getEpisodeListAllShortLink() throws Exception { List list = anidb.getEpisodeList(twelvekingdomsSearchResult, SortOrder.Airdate, Locale.ENGLISH); - assertEquals(46, list.size()); + assertEquals(47, list.size()); Episode first = list.get(0); @@ -110,7 +110,7 @@ public class AnidbClientTest { List list = anidb.getEpisodeList(monsterSearchResult, SortOrder.Airdate, Locale.JAPANESE); Episode last = list.get(73); - assertEquals("モンスター", last.getSeriesName()); + assertEquals("MONSTER", last.getSeriesName()); assertEquals("2004-04-07", last.getSeriesInfo().getStartDate().toString()); assertEquals("本当の怪物", last.getTitle()); assertEquals("74", last.getEpisode().toString()); diff --git a/test/net/filebot/web/OMDbClientTest.java b/test/net/filebot/web/OMDbClientTest.java index 7ae8d5af..bde4dd1e 100644 --- a/test/net/filebot/web/OMDbClientTest.java +++ b/test/net/filebot/web/OMDbClientTest.java @@ -4,10 +4,10 @@ import static org.junit.Assert.*; import java.util.List; -import net.filebot.web.TMDbClient.MovieInfo; - import org.junit.Test; +import net.filebot.web.TMDbClient.MovieInfo; + public class OMDbClientTest { private final OMDbClient client = new OMDbClient(); diff --git a/test/net/filebot/web/OpenSubtitlesXmlRpcTest.java b/test/net/filebot/web/OpenSubtitlesXmlRpcTest.java index 39c3d8c7..61685dca 100644 --- a/test/net/filebot/web/OpenSubtitlesXmlRpcTest.java +++ b/test/net/filebot/web/OpenSubtitlesXmlRpcTest.java @@ -8,15 +8,15 @@ import java.nio.ByteBuffer; import java.util.List; import java.util.Map; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + import net.filebot.web.OpenSubtitlesSubtitleDescriptor.Property; import net.filebot.web.OpenSubtitlesXmlRpc.Query; import net.filebot.web.OpenSubtitlesXmlRpc.SubFile; import net.filebot.web.OpenSubtitlesXmlRpc.TryUploadResponse; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; - public class OpenSubtitlesXmlRpcTest { private static OpenSubtitlesXmlRpc xmlrpc = new OpenSubtitlesXmlRpc(String.format("%s %s", getApplicationName(), getApplicationVersion())); @@ -77,8 +77,8 @@ public class OpenSubtitlesXmlRpcTest { OpenSubtitlesSubtitleDescriptor sample = list.get(75); - assertEquals("\"Wonderfalls\" Wound-up Penguin", sample.getProperty(Property.MovieName)); - assertEquals("German", sample.getProperty(Property.LanguageName)); + assertEquals("\"Wonderfalls\" Safety Canary", sample.getProperty(Property.MovieName)); + assertEquals("Czech", sample.getProperty(Property.LanguageName)); assertEquals("imdbid", sample.getProperty(Property.MatchedBy)); // check size @@ -185,7 +185,7 @@ public class OpenSubtitlesXmlRpcTest { ByteBuffer data = list.get(0).fetch(); // check size - assertEquals(48717, data.remaining(), 0); + assertEquals(48794, data.remaining(), 0); } // @Test(expected = IOException.class) diff --git a/test/net/filebot/web/TMDbClientTest.java b/test/net/filebot/web/TMDbClientTest.java index ac90e2ed..0f94768b 100644 --- a/test/net/filebot/web/TMDbClientTest.java +++ b/test/net/filebot/web/TMDbClientTest.java @@ -90,8 +90,8 @@ public class TMDbClientTest { @Test public void getArtwork() throws Exception { List artwork = tmdb.getArtwork("tt0418279"); - assertEquals("backdrops", artwork.get(0).getCategory()); - assertEquals("http://image.tmdb.org/t/p/original/ac0HwGJIU3GxjjGujlIjLJmAGPR.jpg", artwork.get(0).getUrl().toString()); + assertEquals("posters", artwork.get(0).getCategory()); + assertEquals("http://image.tmdb.org/t/p/original/bgSHbGEA1OM6qDs3Qba4VlSZsNG.jpg", artwork.get(0).getUrl().toString()); } @Ignore diff --git a/test/net/filebot/web/TheTVDBClientTest.java b/test/net/filebot/web/TheTVDBClientTest.java index 3bdc9f7a..0258f833 100644 --- a/test/net/filebot/web/TheTVDBClientTest.java +++ b/test/net/filebot/web/TheTVDBClientTest.java @@ -8,11 +8,11 @@ import java.util.List; import java.util.Locale; import java.util.Map; +import org.junit.Test; + import net.filebot.web.TheTVDBClient.BannerDescriptor; import net.filebot.web.TheTVDBClient.MirrorType; -import org.junit.Test; - public class TheTVDBClientTest { TheTVDBClient thetvdb = new TheTVDBClient("BA864DEE427E384A");