예제 #1
0
        public void IgnoreFilePartSplit()
        {
            string file = @"c:\file.s00e00.file.avi";

            MoveableFileFactory moveFileFactory = new MoveableFileFactory(_parser, SeriesPattern);
            MoveableFile        mf = moveFileFactory.Create(file);

            Assert.AreEqual(mf.Names.Count(), 2);
        }
예제 #2
0
        public void PeriodFileNameSplits()
        {
            string file = @"c:\file.names.file.avi";

            MoveableFileFactory moveFileFactory = new MoveableFileFactory(_parser, SeriesPattern);
            MoveableFile        mf = moveFileFactory.Create(file);

            Assert.AreEqual(mf.Names.Count(), 3);
        }
예제 #3
0
        public void IdentifyIsNotSeriesFile()
        {
            string file = @"c:\fileMoviefile.avi";

            MoveableFileFactory moveFileFactory = new MoveableFileFactory(_parser, SeriesPattern);
            MoveableFile        mf = moveFileFactory.Create(file);

            Assert.IsFalse(mf.IsSeries);
        }
예제 #4
0
        public void IgnoreFilePartSplitMany()
        {
            string file = @"c:\file.s00e00.480p.dvdrip.1080p.file.avi";

            _parser.AddExclusions("dvdrip", "\\d{3,4}p");

            MoveableFileFactory moveFileFactory = new MoveableFileFactory(_parser, SeriesPattern);
            MoveableFile        mf = moveFileFactory.Create(file);

            Assert.AreEqual(mf.Names.Count(), 2);
        }
예제 #5
0
        public void FindSeriesNoMatch()
        {
            MoveableFile file = new MoveableFile
            {
                Names = new List <string> {
                    "Friends"
                },
                IsSeries = true
            };

            IList <string> dirs = new List <string> {
                @"C:\Series\Enemies\", @"C:\Series\Buddies\"
            };

            DirectorySearch ds = new DirectorySearch(dirs);

            var di = ds.FindDirectoryMatches(file);

            Assert.IsFalse(di.Any());
        }
예제 #6
0
        public void FindSeriesFolderSingleMatch()
        {
            MoveableFile file = new MoveableFile
            {
                Names = new List <string> {
                    "Friends"
                },
                IsSeries = true
            };

            IList <string> dirs = new List <string> {
                @"C:\Series\Friends\", @"C:\Series\Pals\", @"C:\Series\Buddies\"
            };

            DirectorySearch ds = new DirectorySearch(dirs);

            var di = ds.FindDirectoryMatches(file);

            Assert.AreEqual(1, di.Count());
        }
예제 #7
0
        public void FindSeriesFolderManyMatches()
        {
            MoveableFile file = new MoveableFile
            {
                Names = new List <string> {
                    "Friends", "Enemies"
                },
                IsSeries = true
            };

            IList <string> dirs = new List <string> {
                @"C:\Series\Friends\", @"C:\Series\Friends and Enemies\", @"C:\Series\Buddies\"
            };

            DirectorySearch ds = new DirectorySearch(dirs);

            var di = ds.FindDirectoryMatches(file);

            Assert.AreEqual(2, di.Count());
            Assert.AreEqual(2, di.OrderByDescending(d => d.Matches).First().Matches);
            Assert.AreEqual("Friends and Enemies", di.OrderByDescending(d => d.Matches).First().Directory.Name);
        }