package com.miz.test;/*
* Copyright (C) 2014 Michell Bak
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import android.test.AndroidTestCase;
import com.miz.identification.MovieStructure;
public class MovieFilenameTests extends AndroidTestCase {
public void testCase1() {
MovieStructure ms = new MovieStructure("/Avatar (2009).mkv");
assertEquals("", ms.getParentFolderName());
assertEquals("Avatar (2009).mkv", ms.getFilename());
assertEquals(false, ms.hasImdbId());
assertEquals("", ms.getDecryptedParentFolderName());
assertEquals("Avatar", ms.getDecryptedFilename());
assertEquals(true, ms.hasReleaseYear());
assertEquals(2009, ms.getReleaseYear());
}
public void testCase2() {
MovieStructure ms = new MovieStructure("/Avatar (2009) (tt0499549).mkv");
assertEquals("", ms.getParentFolderName());
assertEquals("Avatar (2009) (tt0499549).mkv", ms.getFilename());
assertEquals(true, ms.hasImdbId());
assertEquals("tt0499549", ms.getImdbId());
assertEquals("", ms.getDecryptedParentFolderName());
assertEquals("Avatar", ms.getDecryptedFilename());
assertEquals(true, ms.hasReleaseYear());
assertEquals(2009, ms.getReleaseYear());
}
public void testCase3() {
MovieStructure ms = new MovieStructure("/The Thing 2011.mkv");
assertEquals("", ms.getParentFolderName());
assertEquals("The Thing 2011.mkv", ms.getFilename());
assertEquals(false, ms.hasImdbId());
assertEquals("", ms.getDecryptedParentFolderName());
assertEquals("The Thing", ms.getDecryptedFilename());
assertEquals(true, ms.hasReleaseYear());
assertEquals(2011, ms.getReleaseYear());
}
public void testCase4() {
MovieStructure ms = new MovieStructure("/Green Lantern.mkv");
assertEquals("", ms.getParentFolderName());
assertEquals("Green Lantern.mkv", ms.getFilename());
assertEquals(false, ms.hasImdbId());
assertEquals("", ms.getDecryptedParentFolderName());
assertEquals("Green Lantern", ms.getDecryptedFilename());
assertEquals(false, ms.hasReleaseYear());
}
public void testCase5() {
MovieStructure ms = new MovieStructure("/Shaun of the Dead/Shaun of the Dead.mp4");
assertEquals("Shaun of the Dead", ms.getParentFolderName());
assertEquals("Shaun of the Dead.mp4", ms.getFilename());
assertEquals(false, ms.hasImdbId());
assertEquals("Shaun of the Dead", ms.getDecryptedParentFolderName());
assertEquals("Shaun of the Dead", ms.getDecryptedFilename());
assertEquals(false, ms.hasReleaseYear());
}
public void testCase6() {
MovieStructure ms = new MovieStructure("/Movies/Fight Club (1999)/Fight Club (1999).mkv");
assertEquals("Fight Club (1999)", ms.getParentFolderName());
assertEquals("Fight Club (1999).mkv", ms.getFilename());
assertEquals(false, ms.hasImdbId());
assertEquals("Fight Club", ms.getDecryptedParentFolderName());
assertEquals("Fight Club", ms.getDecryptedFilename());
assertEquals(true, ms.hasReleaseYear());
assertEquals(1999, ms.getReleaseYear());
}
public void testCase7() {
MovieStructure ms = new MovieStructure("/Movies/Fight Club (1995)/Fight Club (1999).mkv");
assertEquals("Fight Club (1995)", ms.getParentFolderName());
assertEquals("Fight Club (1999).mkv", ms.getFilename());
assertEquals(false, ms.hasImdbId());
assertEquals("Fight Club", ms.getDecryptedParentFolderName());
assertEquals("Fight Club", ms.getDecryptedFilename());
assertEquals(true, ms.hasReleaseYear());
assertEquals(1999, ms.getReleaseYear()); // Prioritize filename year
}
public void testCase8() {
MovieStructure ms = new MovieStructure("/Movies/Fight Club (1999)/Fight Club.mkv");
assertEquals("Fight Club (1999)", ms.getParentFolderName());
assertEquals("Fight Club.mkv", ms.getFilename());
assertEquals(false, ms.hasImdbId());
assertEquals("Fight Club", ms.getDecryptedParentFolderName());
assertEquals("Fight Club", ms.getDecryptedFilename());
assertEquals(true, ms.hasReleaseYear());
assertEquals(1999, ms.getReleaseYear()); // Get year from parent folder name
}
public void testCase9() {
MovieStructure ms = new MovieStructure("/movies/Jack.the.Giant.Slayer.2013.1080p.BluRay.x264-SPARKS [PublicHD].mkv");
assertEquals("movies", ms.getParentFolderName());
assertEquals("Jack.the.Giant.Slayer.2013.1080p.BluRay.x264-SPARKS [PublicHD].mkv", ms.getFilename());
assertEquals(false, ms.hasImdbId());
assertEquals("movies", ms.getDecryptedParentFolderName());
assertEquals("Jack the Giant Slayer", ms.getDecryptedFilename());
assertEquals(true, ms.hasReleaseYear());
assertEquals(2013, ms.getReleaseYear());
}
public void testCase10() {
MovieStructure ms = new MovieStructure("/AE, Apocalypse Earth.avi");
assertEquals("", ms.getParentFolderName());
assertEquals("AE, Apocalypse Earth.avi", ms.getFilename());
assertEquals(false, ms.hasImdbId());
assertEquals("", ms.getDecryptedParentFolderName());
assertEquals("AE Apocalypse Earth", ms.getDecryptedFilename());
assertEquals(false, ms.hasReleaseYear());
}
public void testCase11() {
MovieStructure ms = new MovieStructure("/Matando Cabos - DVDRIP - CD1.avi");
assertEquals("", ms.getParentFolderName());
assertEquals("Matando Cabos - DVDRIP - CD1.avi", ms.getFilename());
assertEquals(false, ms.hasImdbId());
assertEquals("", ms.getDecryptedParentFolderName());
assertEquals("Matando Cabos", ms.getDecryptedFilename());
assertEquals(false, ms.hasReleaseYear());
}
public void testCase12() {
MovieStructure ms = new MovieStructure("/Matando Cabos - DVDRIP - CD2.avi");
assertEquals("", ms.getParentFolderName());
assertEquals("Matando Cabos - DVDRIP - CD2.avi", ms.getFilename());
assertEquals(false, ms.hasImdbId());
assertEquals("", ms.getDecryptedParentFolderName());
assertEquals("Matando Cabos", ms.getDecryptedFilename());
assertEquals(false, ms.hasReleaseYear());
}
public void testCase13() {
MovieStructure ms = new MovieStructure("/Cenizas del cielo (DVDRip) (EliteTorrent.net).avi");
assertEquals("", ms.getParentFolderName());
assertEquals("Cenizas del cielo (DVDRip) (EliteTorrent.net).avi", ms.getFilename());
assertEquals(false, ms.hasImdbId());
assertEquals("", ms.getDecryptedParentFolderName());
assertEquals("Cenizas del cielo", ms.getDecryptedFilename());
assertEquals(false, ms.hasReleaseYear());
}
public void testCase14() {
MovieStructure ms = new MovieStructure("/Prometheus [BRrip][AC3 5.1 Espanol Castellano][2012][www.newpct.com].avi");
assertEquals("", ms.getParentFolderName());
assertEquals("Prometheus [BRrip][AC3 5.1 Espanol Castellano][2012][www.newpct.com].avi", ms.getFilename());
assertEquals(false, ms.hasImdbId());
assertEquals("", ms.getDecryptedParentFolderName());
assertEquals("Prometheus", ms.getDecryptedFilename());
assertEquals(true, ms.hasReleaseYear());
assertEquals(2012, ms.getReleaseYear());
}
public void testCase15() {
MovieStructure ms = new MovieStructure("/A.Day.at.the.Races.1937/A.Day.at.the.Races.1937.720p.WEB-DL.AAC2.0.H.264-HDStar.mkv");
assertEquals("A.Day.at.the.Races.1937", ms.getParentFolderName());
assertEquals("A.Day.at.the.Races.1937.720p.WEB-DL.AAC2.0.H.264-HDStar.mkv", ms.getFilename());
assertEquals(false, ms.hasImdbId());
assertEquals("A Day at the Races", ms.getDecryptedParentFolderName());
assertEquals("A Day at the Races", ms.getDecryptedFilename());
assertEquals(true, ms.hasReleaseYear());
assertEquals(1937, ms.getReleaseYear());
}
public void testCase16() {
MovieStructure ms = new MovieStructure("/2012 (2009).mkv");
assertEquals("", ms.getParentFolderName());
assertEquals("2012 (2009).mkv", ms.getFilename());
assertEquals(false, ms.hasImdbId());
assertEquals("", ms.getDecryptedParentFolderName());
assertEquals("2012", ms.getDecryptedFilename());
assertEquals(true, ms.hasReleaseYear());
assertEquals(2009, ms.getReleaseYear());
}
public void testCase17() {
MovieStructure ms = new MovieStructure("/G.I. Joe Retaliation (2013).mkv");
assertEquals("", ms.getParentFolderName());
assertEquals("G.I. Joe Retaliation (2013).mkv", ms.getFilename());
assertEquals(false, ms.hasImdbId());
assertEquals("", ms.getDecryptedParentFolderName());
assertEquals("GI Joe Retaliation", ms.getDecryptedFilename());
assertEquals(true, ms.hasReleaseYear());
assertEquals(2013, ms.getReleaseYear());
}
}