예제 #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 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);
        }
예제 #3
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);
        }