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(); }
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()); }
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); }
public void ChangeTags() { var tags = _dataExtracter.GetTags(); var prefixesQueue = _dataExtracter.FindAllPrefixes(tags); var data = _dataExtracter.GetFullDataFromString(prefixesQueue, Mp3RealName, tags); ChangeMp3Tags(data); }
public void Test_FindAllPrefixes() { var extracter = new DataExtracter("-this-is-{artist}-prefix-{title}"); var prefixes = extracter.FindAllPrefixes(extracter.GetTags()); var expected = new Queue <string>(); expected.Enqueue("-this-is-"); expected.Enqueue("-prefix-"); CollectionAssert.AreEqual(expected, prefixes); }
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); }
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); }