Example #1
0
        public FileDifferences[] GetDifferences()
        {
            var list = new List <FileDifferences>();

            foreach (var mp3 in _files)
            {
                var mp3Data = mp3.GetId3Data();

                var extracter = new DataExtracter(_mask);
                var tags      = extracter.GetTags();
                var prefixes  = extracter.FindAllPrefixes(tags);
                var diffs     = new FileDifferences(mp3);
                var data      = extracter.GetFullDataFromString(prefixes, Path.GetFileNameWithoutExtension(mp3.FilePath), tags);

                var differenceItems = data.Where(item => mp3Data[item.Key] != item.Value).ToArray();

                if (!differenceItems.Any())
                {
                    continue;
                }

                foreach (var item in differenceItems)
                {
                    diffs.Add(item.Key, new Diff {
                        FileNameValue = item.Value, TagValue = mp3Data[item.Key]
                    });
                }

                list.Add(diffs);
            }

            return(list.ToArray());
        }
Example #2
0
        public FileDifferences[] GetDifferences()
        {
            var list = new List<FileDifferences>();
            foreach (var mp3 in _files)
            {
                var mp3Data = mp3.GetId3Data();

                var extracter = new DataExtracter(_mask);
                var tags = extracter.GetTags();
                var prefixes = extracter.FindAllPrefixes(tags);
                var diffs = new FileDifferences(mp3);
                var data = extracter.GetFullDataFromString(prefixes, Path.GetFileNameWithoutExtension(mp3.FilePath), tags);

                var differenceItems = data.Where(item => mp3Data[item.Key] != item.Value).ToArray();

                if (!differenceItems.Any()) continue;

                foreach (var item in differenceItems)
                {
                    diffs.Add(item.Key, new Diff { FileNameValue = item.Value, TagValue = mp3Data[item.Key] });
                }

                list.Add(diffs);
            }

            return list.ToArray();
        }
Example #3
0
        public void Test_GetFullDataFromString_DelimiterExpected()
        {
            var extracter = new DataExtracter("{id}{artist} - {title}");
            var tags      = extracter.GetTags();
            var prefixes  = extracter.FindAllPrefixes(tags);

            var data = extracter.GetFullDataFromString(prefixes, "10. test artist - test song name", tags);
        }
Example #4
0
        public void ChangeTags()
        {
            var tags          = _dataExtracter.GetTags();
            var prefixesQueue = _dataExtracter.FindAllPrefixes(tags);

            var data = _dataExtracter.GetFullDataFromString(prefixesQueue, Mp3RealName, tags);

            ChangeMp3Tags(data);
        }
Example #5
0
        public void Test_NotEnoughData()
        {
            var extracter = new DataExtracter("{id} {artist} - {title}");
            var tags      = extracter.GetTags();
            var prefixes  = extracter.FindAllPrefixes(tags);
            var data      = extracter.GetFullDataFromString(prefixes, "10 art", tags);

            var expected = new Dictionary <TagType, string> {
                { TagType.Id, "10" }, { TagType.Artist, "" }, { TagType.Title, "" }
            };

            CollectionAssert.AreEqual(expected, data);
        }
Example #6
0
        public void Test_FirstPrefix()
        {
            var extracter = new DataExtracter("[{id}] {artist}");
            var tags      = extracter.GetTags();
            var prefixes  = extracter.FindAllPrefixes(tags);
            var data      = extracter.GetFullDataFromString(prefixes, "[10] test artist", tags);

            var expected = new Dictionary <TagType, string> {
                { TagType.Id, "10" }, { TagType.Artist, "test artist" }
            };

            CollectionAssert.AreEqual(expected, data);
        }