2009-01-24 19:08:57 -05:00
|
|
|
|
|
|
|
package net.sourceforge.filebot.similarity;
|
|
|
|
|
|
|
|
|
2009-05-17 13:22:44 -04:00
|
|
|
import static net.sourceforge.filebot.similarity.SeasonEpisodeMatcher.SxE.*;
|
|
|
|
import static org.junit.Assert.*;
|
2009-05-03 11:21:04 -04:00
|
|
|
import net.sourceforge.filebot.similarity.SeasonEpisodeMatcher.SxE;
|
2009-01-24 19:08:57 -05:00
|
|
|
|
|
|
|
import org.junit.Test;
|
|
|
|
|
|
|
|
|
|
|
|
public class SeasonEpisodeMatcherTest {
|
|
|
|
|
|
|
|
private static SeasonEpisodeMatcher matcher = new SeasonEpisodeMatcher();
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
public void patternPrecedence() {
|
|
|
|
// S01E01 pattern has highest precedence
|
2009-05-03 11:21:04 -04:00
|
|
|
assertEquals(new SxE(1, 3), matcher.match("Test.101.1x02.S01E03").get(0));
|
2009-01-24 19:08:57 -05:00
|
|
|
|
|
|
|
// multiple values
|
2009-05-03 11:21:04 -04:00
|
|
|
assertEquals(new SxE(1, 2), matcher.match("Test.42.s01e01.s01e02.300").get(1));
|
2009-01-24 19:08:57 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
public void pattern_1x01() {
|
2009-05-03 11:21:04 -04:00
|
|
|
assertEquals(new SxE(1, 1), matcher.match("1x01").get(0));
|
2009-01-24 19:08:57 -05:00
|
|
|
|
|
|
|
// test multiple matches
|
2009-05-03 11:21:04 -04:00
|
|
|
assertEquals(new SxE(1, 2), matcher.match("Test - 1x01 and 1.02 - Multiple MatchCollection").get(1));
|
2009-01-24 19:08:57 -05:00
|
|
|
|
|
|
|
// test high values
|
2009-05-03 11:21:04 -04:00
|
|
|
assertEquals(new SxE(12, 345), matcher.match("Test - 12x345 - High Values").get(0));
|
2009-01-24 19:08:57 -05:00
|
|
|
|
|
|
|
// test lookahead and lookbehind
|
2009-05-03 11:21:04 -04:00
|
|
|
assertEquals(new SxE(1, 3), matcher.match("Test_-_103_[1280x720]").get(0));
|
2009-01-24 19:08:57 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
public void pattern_S01E01() {
|
2009-05-03 11:21:04 -04:00
|
|
|
assertEquals(new SxE(1, 1), matcher.match("S01E01").get(0));
|
2009-01-24 19:08:57 -05:00
|
|
|
|
|
|
|
// test multiple matches
|
2009-05-03 11:21:04 -04:00
|
|
|
assertEquals(new SxE(1, 2), matcher.match("S01E01 and S01E02 - Multiple MatchCollection").get(1));
|
2009-01-24 19:08:57 -05:00
|
|
|
|
|
|
|
// test separated values
|
2009-05-03 11:21:04 -04:00
|
|
|
assertEquals(new SxE(1, 3), matcher.match("[s01]_[e03]").get(0));
|
2009-01-24 19:08:57 -05:00
|
|
|
|
|
|
|
// test high values
|
2009-05-03 11:21:04 -04:00
|
|
|
assertEquals(new SxE(12, 345), matcher.match("Test - S12E345 - High Values").get(0));
|
2009-01-24 19:08:57 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Test
|
|
|
|
public void pattern_101() {
|
2009-05-03 11:21:04 -04:00
|
|
|
assertEquals(new SxE(1, 1), matcher.match("Test.101").get(0));
|
2009-01-24 19:08:57 -05:00
|
|
|
|
|
|
|
// test 2-digit number
|
2009-05-03 11:21:04 -04:00
|
|
|
assertEquals(new SxE(UNDEFINED, 2), matcher.match("02").get(0));
|
2009-01-24 19:08:57 -05:00
|
|
|
|
|
|
|
// test high values
|
2009-05-03 11:21:04 -04:00
|
|
|
assertEquals(new SxE(10, 1), matcher.match("[Test]_1001_High_Values").get(0));
|
2009-01-24 19:08:57 -05:00
|
|
|
|
|
|
|
// first two digits <= 29
|
|
|
|
assertEquals(null, matcher.match("The 4400"));
|
|
|
|
|
|
|
|
// test lookbehind
|
|
|
|
assertEquals(null, matcher.match("720p"));
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|