Пример #1
0
        public void CompileAllPerformersInFolder_AllUniquePerformers_ReturnsCorrectNumber()
        {
            PerformerMockRepository mockRepository = new PerformerMockRepository();
            string       filePath1 = @"C:\temp\Succession - Logan Roy & Shiv Roy, Roman Roy - Little Fear of Lightning (2019-12-05).mkv";
            FileToImport file1     = new FileToImport(filePath1, mockRepository);
            string       filePath2 = @"C:\temp\Watchmen - Looking Glass & Dr. Manhattan - A God Walks Into Abar (2019-09-27).mp4";
            FileToImport file2     = new FileToImport(filePath2, mockRepository);
            string       filePath3 = @"C:\temp\Arrow - Oliver Queen, Laurel Lance & Harbinger - Little Fear of Lightning (2019-12-05).mkv";
            FileToImport file3     = new FileToImport(filePath3, mockRepository);

            List <FileToImport> files = new List <FileToImport>();

            files.Add(file1);
            files.Add(file2);
            files.Add(file3);

            DvdFolderToImport dvd = new DvdFolderToImport("C:\temp", files);

            int expectedResult = 8;

            var performerList = dvd.PerformersInFolderAll.OrderBy(p => p.Name);
            int result        = performerList.Count();

            Assert.AreEqual(expectedResult, result);
        }
Пример #2
0
        public void HasNamingErrors_ContainsTooLongFileName_ReturnsTrue()
        {
            PerformerMockRepository mockRepository = new PerformerMockRepository();

            string       filePath1 = @"C:\temp\Arrow - Oliver Queen, Laurel Lance & Harbinger - Little Fear of Lightning Little Fear of Lightning Little Fear of Lightning (2019-12-05).mkv";
            FileToImport file1     = new FileToImport(filePath1, mockRepository);
            string       filePath2 = @"C:\temp\short filename1.mkv";
            FileToImport file2     = new FileToImport(filePath2, mockRepository);
            string       filePath3 = @"C:\temp\short filename2.mkv";
            FileToImport file3     = new FileToImport(filePath3, mockRepository);

            List <FileToImport> files = new List <FileToImport>();

            files.Add(file1);
            files.Add(file2);
            files.Add(file3);

            DvdFolderToImport dvd = new DvdFolderToImport("C:\temp", files);

            bool expectedResult = true;

            bool result = dvd.HasNamingErrors();

            Assert.AreEqual(expectedResult, result);
        }
        public void AddDisc_AddActualDisc_ActuallyUpdateDisc()
        {
            PerformerMockRepository mockRepository = new PerformerMockRepository();
            string       filePath1 = @"C:\temp\Succession - Logan Roy & Shiv Roy, Roman Roy - Little Fear of Lightning (2019-12-05).mkv";
            FileToImport file1     = new FileToImport(filePath1, mockRepository);
            string       filePath2 = @"C:\temp\Watchmen - Looking Glass & Dr. Manhattan - A God Walks Into Abar (2019-09-27).mp4";
            FileToImport file2     = new FileToImport(filePath2, mockRepository);
            string       filePath3 = @"C:\temp\Arrow - Oliver Queen, Laurel Lance & Harbinger - Little Fear of Lightning (2019-12-05).mkv";
            FileToImport file3     = new FileToImport(filePath3, mockRepository);

            List <FileToImport> files = new List <FileToImport>();

            files.Add(file1);
            files.Add(file2);
            files.Add(file3);

            DvdFolderToImport dvd = new DvdFolderToImport(@"C:\temp", files)
            {
                DiscName   = "TV2020-01-05",
                WalletType = 5,
                Notes      = "Misc TV shows"
            };

            string           dbLocation     = @"c:\temp\Files on Dvd.accdb";
            AccessRepository realRepository = new AccessRepository(dbLocation);

            realRepository.AddDisc(dvd);
            Console.WriteLine("Debug this line");
        }
Пример #4
0
 public FileLocalDto(FileToImport file)
 {
     Id       = file.DatabaseId;
     Filename = file.Filename;
     Genre    = file.Genre;
     Disc     = file.DiscId;
     Series   = file.Series?.Id;
     Notes    = file.Notes;
 }
Пример #5
0
        public ImportedFile(FileInfo UnReadFile, FileToImport Parent)
        {
            this.Parent = Parent;
            this.ImportedFileInfo = UnReadFile;

            this.FileName = this.ImportedFileInfo.FullName;
            this.FileShortName = this.ImportedFileInfo.Name;
            this.FileCreationDate = this.ImportedFileInfo.CreationTime;
            this.DateFileImported = DateTime.Now;
        }
Пример #6
0
        public void GetPositionsOfNonAsciiInName_NameHasEmDashAtEnd_ReturnLastPosition()
        {
            string filePath         = @"C:\temp\ThisHasAnEmDashsee—.mkv";
            int    expectedPosition = 18;
            PerformerMockRepository mockPerformerRepository = new PerformerMockRepository();
            FileToImport            fileToImport            = new FileToImport(filePath, mockPerformerRepository);

            var result = fileToImport.GetPositionsOfNonAsciiInName();

            Assert.AreEqual(expectedPosition, result[0]);
        }
Пример #7
0
        public void NameIsTooLong_NameFitsOnDvd_ReturnFalse()
        {
            string filePath = @"C:\temp\Watchmen - 1.05 - Little Fear of Lightning.mkv";
            bool   expected = false;
            PerformerMockRepository mockPerformerRepository = new PerformerMockRepository();
            FileToImport            fileToImport            = new FileToImport(filePath, mockPerformerRepository);

            bool result = fileToImport.NameIsTooLong;

            Assert.AreEqual(expected, result);
        }
Пример #8
0
        public void NameContainsDoubleSpaces_NameHasThreeSpaces_ReturnTrue()
        {
            string filePath = @"C:\temp\Joker (2019) - Scene 4.   Joaquin Phoenix & Zazie Beetzmkv";
            bool   expected = true;
            PerformerMockRepository mockPerformerRepository = new PerformerMockRepository();
            FileToImport            fileToImport            = new FileToImport(filePath, mockPerformerRepository);

            bool result = fileToImport.NameContainsDoubleSpaces;

            Assert.AreEqual(expected, result);
        }
Пример #9
0
        public void NameContainsNonAscii_NameHasEmDash_ReturnTrue()
        {
            string filePath = @"C:\temp\ThisHasAnEmDash—see.mkv";
            bool   expected = true;
            PerformerMockRepository mockPerformerRepository = new PerformerMockRepository();
            FileToImport            fileToImport            = new FileToImport(filePath, mockPerformerRepository);

            bool result = fileToImport.NameContainsNonAscii;

            Assert.AreEqual(expected, result);
        }
Пример #10
0
        public void NameContainsNonAscii_NameHasOnlyAscii_ReturnFalse()
        {
            string filePath = @"C:\temp\saturday.night.live.s45e05.kristen.stewart.internal.480p.web.mp4.rmteamthisshouldbeover98characters.mkv";
            bool   expected = false;
            PerformerMockRepository mockPerformerRepository = new PerformerMockRepository();
            FileToImport            fileToImport            = new FileToImport(filePath, mockPerformerRepository);

            bool result = fileToImport.NameContainsNonAscii;

            Assert.AreEqual(expected, result);
        }
Пример #11
0
        public void NameIsTooLong_NameIs99CharsLong_ReturnTrue()
        {
            string fileWith99Chars = @"c:\temp\12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345.789";
            bool   expected        = true;
            PerformerMockRepository mockPerformerRepository = new PerformerMockRepository();
            FileToImport            fileToImport            = new FileToImport(fileWith99Chars, mockPerformerRepository);

            bool result = fileToImport.NameIsTooLong;

            Assert.AreEqual(expected, result);
        }
Пример #12
0
        public void NameIsTooLong_NameTooLongForDvd_ReturnTrue()
        {
            string filePath = @"C:\temp\saturday.night.live.s45e05.kristen.stewart.internal.480p.web.mp4.rmteamthisshouldbeover98characters.mkv";
            bool   expected = true;
            PerformerMockRepository mockPerformerRepository = new PerformerMockRepository();
            FileToImport            fileToImport            = new FileToImport(filePath, mockPerformerRepository);

            bool result = fileToImport.NameIsTooLong;

            Assert.AreEqual(expected, result);
        }
Пример #13
0
        public void GetPositionsOfNonAsciiInName_NameHasOnlyAscii_ReturnEmptyList()
        {
            string filePath = @"C:\temp\ThisHasAnEmDashsee.mkv";
            int    expected = 0;
            PerformerMockRepository mockPerformerRepository = new PerformerMockRepository();
            FileToImport            fileToImport            = new FileToImport(filePath, mockPerformerRepository);

            var result = fileToImport.GetPositionsOfNonAsciiInName();

            Assert.AreEqual(expected, result.Count);
        }
Пример #14
0
        private async Task <(DataLoadResult result, string[] processedFiles)> ProcessUpload(
            CancellationToken ct)
        {
            string fileName = Request.Headers["content-disposition"];

            if (ContentDispositionHeaderValue.TryParse(new StringSegment(Request.Headers["content-disposition"]), out var header))
            {
                fileName = header.FileName.ToString()?.Trim('\"');
            }

            var file = new FileToImport(fileName,
                                        () => Request.Body,
                                        Request.ContentType);

            return
                (await _fileImporter.ImportFiles(new[] { file }, ct),
                 null);
        }
Пример #15
0
        public void HasNamingErrors_ContainsGoodFileNames_ReturnsFalse()
        {
            PerformerMockRepository mockRepository = new PerformerMockRepository();
            string       filePath2 = @"C:\temp\short filename1.mkv";
            FileToImport file2     = new FileToImport(filePath2, mockRepository);
            string       filePath3 = @"C:\temp\short filename2.mkv";
            FileToImport file3     = new FileToImport(filePath3, mockRepository);

            List <FileToImport> files = new List <FileToImport>();

            files.Add(file2);
            files.Add(file3);

            DvdFolderToImport dvd = new DvdFolderToImport("C:\temp", files);

            bool expectedResult = false;

            bool result = dvd.HasNamingErrors();

            Assert.AreEqual(expectedResult, result);
        }
Пример #16
0
        public void IsReadyToImport_ContainsDoubleSpaces_ReturnsFalse()
        {
            PerformerMockRepository mockRepository = new PerformerMockRepository();
            string       filePath1 = @"C:\temp\this has  double spaces.mkv";
            FileToImport file1     = new FileToImport(filePath1, mockRepository);
            string       filePath2 = @"C:\temp\short filename1.mkv";
            FileToImport file2     = new FileToImport(filePath2, mockRepository);
            string       filePath3 = @"C:\temp\short filename2.mkv";
            FileToImport file3     = new FileToImport(filePath3, mockRepository);

            List <FileToImport> files = new List <FileToImport>();

            files.Add(file1);
            files.Add(file2);
            files.Add(file3);

            DvdFolderToImport dvd = new DvdFolderToImport("C:\temp", files);

            bool expectedResult = false;

            bool result = dvd.IsReadyToImport;

            Assert.AreEqual(expectedResult, result);
        }
Пример #17
0
 public int Add(FileToImport file)
 {
     throw new NotImplementedException();
 }
Пример #18
0
        public int Add(FileToImport file)
        {
            FileLocalDto fileDto = new FileLocalDto(file);

            return(Add(fileDto));
        }