Exemplo n.º 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);
        }
Exemplo n.º 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>"));
        }
Exemplo n.º 3
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>"));
        }
Exemplo n.º 4
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);
        }
Exemplo n.º 5
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);
        }
Exemplo n.º 6
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);
        }
Exemplo n.º 7
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);
        }
Exemplo n.º 8
0
        public bool PrepareSynch(string path, string pattern)
        {
            if (!_synchInProgres)
            {
                var mp3Processor = new Mp3FileProcessor(_lateFileHandler);

                var files = _folderHandler.GetAllMp3s(path);
                if (files.Count == 0)
                {
                    return(false);
                }
                _synchInProgres = true;

                foreach (var file in files)
                {
                    _lateFileHandler.FilePath = file;
                    mp3Processor.Synchronize(pattern);
                }
                return(true);
            }
            return(false);
        }
Exemplo n.º 9
0
        public Dictionary <string, Dictionary <FrameType, TagDifference> > GetDifferences(string path, string pattern)
        {
            var files = _folderHandler.GetAllMp3s(path);

            if (files.Count == 0)
            {
                return(null);
            }
            var mp3Processor = new Mp3FileProcessor(_lateFileHandler);
            var differences  = new Dictionary <string, Dictionary <FrameType, TagDifference> >();

            foreach (var file in files)
            {
                _lateFileHandler.FilePath = file;
                var diff = mp3Processor.Difference(pattern);
                if (diff != null)
                {
                    differences.Add(file, diff);
                }
            }
            return(differences);
        }
Exemplo n.º 10
0
        private static void LaunchRetagMode(string path, string pattern)
        {
            var retager = new Mp3FileProcessor(path);

            retager.RetagFile(pattern);
        }