コード例 #1
0
        public void ThreeItemDifferenceTest()
        {
            var fileHandler = new FileSystemBuilder().
                              ActualFile(new FileBuilder().
                                         FilePath("not my artist - not my song").
                                         Tag(FrameType.Artist, "my artist").
                                         Tag(FrameType.Title, "my song").
                                         Build()).
                              Build();

            var fileProcesor = new Mp3FileProcessor(fileHandler);

            var fileArExpect = "my artist";
            var pathArExpect = "not my artist";

            var fileTiExpect = "my song";
            var pathTiExpect = "not my song";

            var result = fileProcesor.Difference("<ar> - <ti>");

            Assert.AreEqual(2, result.Count);
            Assert.AreEqual(fileArExpect, result[FrameType.Artist].FileValue);
            Assert.AreEqual(pathArExpect, result[FrameType.Artist].PathValue);
            Assert.AreEqual(fileTiExpect, result[FrameType.Title].FileValue);
            Assert.AreEqual(pathTiExpect, result[FrameType.Title].PathValue);
        }
コード例 #2
0
        public void NotCorrectPatternAddTags()
        {
            var fileHandler = new FileSystemBuilder().
                ActualFile(new FileBuilder().
                    FilePath("myartist - mysong").
                    Tag(FrameType.Artist, "Not my artist").
                    Build()).
                Build();
            var fileProcesor = new Mp3FileProcessor(fileHandler);

            Assert.AreEqual(false, fileProcesor.RetagFile("<ar><ti>"));
        }
コード例 #3
0
        public void NotCorrectPatternAddTags()
        {
            var fileHandler = new FileSystemBuilder().
                              ActualFile(new FileBuilder().
                                         FilePath("myartist - mysong").
                                         Tag(FrameType.Artist, "Not my artist").
                                         Build()).
                              Build();
            var fileProcesor = new Mp3FileProcessor(fileHandler);

            Assert.AreEqual(false, fileProcesor.RetagFile("<ar><ti>"));
        }
コード例 #4
0
        public void NotCorrectPatternRenameFile()
        {
            var fileHandler = new FileSystemBuilder().
                ActualFile(new FileBuilder().
                    FilePath("my name").
                    Tag(FrameType.Artist, "myartist").
                    Tag(FrameType.Title, "mysong").
                    Build()).
                Build();

            var fileProcesor = new Mp3FileProcessor(fileHandler);

            Assert.AreEqual(false, fileProcesor.RenameFile("<a> - <ti>"));
        }
コード例 #5
0
        public void NotCorrectPatternRenameFile()
        {
            var fileHandler = new FileSystemBuilder().
                              ActualFile(new FileBuilder().
                                         FilePath("my name").
                                         Tag(FrameType.Artist, "myartist").
                                         Tag(FrameType.Title, "mysong").
                                         Build()).
                              Build();

            var fileProcesor = new Mp3FileProcessor(fileHandler);

            Assert.AreEqual(false, fileProcesor.RenameFile("<a> - <ti>"));
        }
コード例 #6
0
        public void NoDifferenceTest()
        {
            var fileHandler = new FileSystemBuilder().
                ActualFile(new FileBuilder().
                    FilePath("my artist - my song").
                    Tag(FrameType.Artist, "my artist").
                    Tag(FrameType.Title, "my song").
                    Build()).
                Build();

            var fileProcesor = new Mp3FileProcessor(fileHandler);

            var result = fileProcesor.Difference("<ar> - <ti>");

            Assert.AreEqual(null, result);
        }
コード例 #7
0
        public void RenameFile()
        {
            var fileHandler = new FileSystemBuilder().
                              ActualFile(new FileBuilder().
                                         FilePath("my name").
                                         Tag(FrameType.Artist, "myartist").
                                         Tag(FrameType.Title, "mysong").
                                         Build()).
                              Build();

            var fileProcesor = new Mp3FileProcessor(fileHandler);

            Assert.AreEqual(true, fileProcesor.RenameFile("<ar> - <ti>"));

            Assert.AreEqual("myartist - mysong", fileHandler.FileName);
        }
コード例 #8
0
        public void NoDifferenceTest()
        {
            var fileHandler = new FileSystemBuilder().
                              ActualFile(new FileBuilder().
                                         FilePath("my artist - my song").
                                         Tag(FrameType.Artist, "my artist").
                                         Tag(FrameType.Title, "my song").
                                         Build()).
                              Build();

            var fileProcesor = new Mp3FileProcessor(fileHandler);

            var result = fileProcesor.Difference("<ar> - <ti>");

            Assert.AreEqual(null, result);
        }
コード例 #9
0
        public void NoDiffTests()
        {
            var fileSystem = new FileSystemBuilder().
                File(new FileBuilder().
                    FilePath("artist - song").
                    Tag(FrameType.Artist, "artist").
                    Tag(FrameType.Title, "song").
                    Build()).
                File(new FileBuilder().
                    FilePath("art - so").
                    Tag(FrameType.Artist, "art").
                    Tag(FrameType.Title, "so").
                    Build()).
                Build();
            var folderProcessor = new FolderProcessor(fileSystem,fileSystem);

            var differences = folderProcessor.GetDifferences("", "<ar> - <ti>");

            Assert.AreEqual(0,differences.Count);
        }
コード例 #10
0
        public void NoDiffTests()
        {
            var fileSystem = new FileSystemBuilder().
                             File(new FileBuilder().
                                  FilePath("artist - song").
                                  Tag(FrameType.Artist, "artist").
                                  Tag(FrameType.Title, "song").
                                  Build()).
                             File(new FileBuilder().
                                  FilePath("art - so").
                                  Tag(FrameType.Artist, "art").
                                  Tag(FrameType.Title, "so").
                                  Build()).
                             Build();
            var folderProcessor = new FolderProcessor(fileSystem, fileSystem);

            var differences = folderProcessor.GetDifferences("", "<ar> - <ti>");

            Assert.AreEqual(0, differences.Count);
        }
コード例 #11
0
        public void SimpleAddTagsToNotEmptyFile()
        {
            var fileHandler = new FileSystemBuilder().
                              ActualFile(new FileBuilder().
                                         FilePath("myartist - mysong").
                                         Tag(FrameType.Artist, "Not my artist").
                                         Build()).
                              Build();
            var fileProcesor = new Mp3FileProcessor(fileHandler);

            var expect = new Dictionary <FrameType, string>
            {
                { FrameType.Artist, "myartist" },
                { FrameType.Title, "mysong" }
            };

            Assert.AreEqual(true, fileProcesor.RetagFile("<ar> - <ti>"));

            CollectionAssert.AreEquivalent(expect, fileHandler.Tags);
        }
コード例 #12
0
        public void BadFileSynch()
        {
            var expect = new Dictionary<FrameType, string>()
            {
                {FrameType.Artist, "my artist"},
                {FrameType.Title, "my song"}
            };

            var fileHandler = new FileSystemBuilder().
                ActualFile(new FileBuilder().
                    FilePath("my artist - my song").
                    Build()).
                Build();

            fileHandler.Tags.Add(FrameType.Artist, "artist");
            var fileProcesor = new Mp3FileProcessor(fileHandler);

            Assert.AreEqual(true, fileProcesor.Synchronize("<ar> - <ti>"));

            CollectionAssert.AreEquivalent(expect, fileHandler.Tags);
        }
コード例 #13
0
        public void BadFileSynch()
        {
            var expect = new Dictionary <FrameType, string>()
            {
                { FrameType.Artist, "my artist" },
                { FrameType.Title, "my song" }
            };

            var fileHandler = new FileSystemBuilder().
                              ActualFile(new FileBuilder().
                                         FilePath("my artist - my song").
                                         Build()).
                              Build();

            fileHandler.Tags.Add(FrameType.Artist, "artist");
            var fileProcesor = new Mp3FileProcessor(fileHandler);

            Assert.AreEqual(true, fileProcesor.Synchronize("<ar> - <ti>"));

            CollectionAssert.AreEquivalent(expect, fileHandler.Tags);
        }
コード例 #14
0
        public void OneItemDifferenceTest()
        {
            var fileHandler = new FileSystemBuilder().
                ActualFile(new FileBuilder().
                    FilePath("not my artist - my song").
                    Tag(FrameType.Artist, "my artist").
                    Tag(FrameType.Title, "my song").
                    Build()).
                Build();

            var fileProcesor = new Mp3FileProcessor(fileHandler);

            var fileExpect = "my artist";
            var pathExpect = "not my artist";

            var result = fileProcesor.Difference("<ar> - <ti>");

            Assert.AreEqual(1,result.Count);
            Assert.AreEqual(fileExpect,result[FrameType.Artist].FileValue);
            Assert.AreEqual(pathExpect,result[FrameType.Artist].PathValue);
        }
コード例 #15
0
        public void SimpleAddTagsToNotEmptyFile()
        {
            var fileHandler = new FileSystemBuilder().
                ActualFile(new FileBuilder().
                    FilePath("myartist - mysong").
                    Tag(FrameType.Artist, "Not my artist").
                    Build()).
                Build();
            var fileProcesor = new Mp3FileProcessor(fileHandler);

            var expect = new Dictionary<FrameType, string>
            {
                {FrameType.Artist, "myartist"},
                {FrameType.Title, "mysong"}
            };

            Assert.AreEqual(true, fileProcesor.RetagFile("<ar> - <ti>"));

            CollectionAssert.AreEquivalent(expect, fileHandler.Tags);
        }
コード例 #16
0
        public void RenameFile()
        {
            var fileHandler = new FileSystemBuilder().
                ActualFile(new FileBuilder().
                    FilePath("my name").
                    Tag(FrameType.Artist, "myartist").
                    Tag(FrameType.Title, "mysong").
                    Build()).
                Build();

            var fileProcesor = new Mp3FileProcessor(fileHandler);

            Assert.AreEqual(true, fileProcesor.RenameFile("<ar> - <ti>"));

            Assert.AreEqual("myartist - mysong", fileHandler.FileName);
        }