public void RenamesFile( [NotNull] string fileName, [NotNull] TestAudioMetadata metadata, [NotNull] string name, [NotNull] string expectedFileName) { var path = Path.Combine("Output", "Rename-AudioFile", fileName); Directory.CreateDirectory(Path.GetDirectoryName(path)); File.Copy(Path.Combine( new DirectoryInfo(Directory.GetCurrentDirectory()).Parent?.Parent?.Parent?.Parent?.FullName, "TestFiles", "Valid", fileName), path, true); var audioFile = new TaggedAudioFile(path); _mapper.Map(metadata, audioFile.Metadata); using (var ps = PowerShell.Create()) { ps.Runspace = _moduleFixture.Runspace; ps.AddCommand("Rename-AudioFile") .AddParameter("AudioFile", audioFile) .AddParameter("Name", name) .AddParameter("Replace"); ps.Invoke(); Assert.Equal(expectedFileName, Path.GetFileName(audioFile.Path)); } }
public async void AnalyzeAsyncCreatesExpectedMetadata( [NotNull] string fileName, [NotNull] string analyzerName, [CanBeNull] TestSettingDictionary settings, #if LINUX [NotNull] TestAudioMetadata expectedUbuntu1604Metadata, [NotNull] TestAudioMetadata expectedUbuntu1804Metadata)
public void SaveMetadataCreatesExpectedOutput( int index, [NotNull] string fileName, [NotNull] TestAudioMetadata metadata, [CanBeNull] string imageFileName, [CanBeNull] TestSettingDictionary settings, #if LINUX [NotNull] string expectedUbuntu1604Hash, [NotNull] string expectedUbuntu1804Hash)
public void MetadataHasExpectedArtist( [NotNull] string fileName, [NotNull] TestAudioMetadata expectedMetadata) => Assert.Equal(expectedMetadata.Artist, new TaggedAudioFile( Path.Combine( new DirectoryInfo(Directory.GetCurrentDirectory()).Parent?.Parent?.Parent?.Parent?.FullName, "TestFiles", "Valid", fileName)) .Metadata.Artist);
public void CreatesExpectedOutput( int index, string fileName, TestAudioMetadata metadata, string imageFileName, SettingDictionary settings, string[] validHashes) { var sourceDirectory = Path.Combine(PathUtility.GetTestFileRoot(), "Valid"); var path = Path.Combine("Output", "Save-AudioMetadata", "Valid", $"{index:000} - {fileName}"); Directory.CreateDirectory(Path.GetDirectoryName(path) !); File.Copy(Path.Combine(sourceDirectory, fileName), path, true); var audioFile = new TaggedAudioFile(path); _mapper.Map(metadata, audioFile.Metadata); if (!string.IsNullOrEmpty(imageFileName)) { audioFile.Metadata.CoverArt = CoverArtFactory.GetOrCreate(Path.Combine(sourceDirectory, imageFileName)); } using (var ps = PowerShell.Create()) { ps.Runspace = _moduleFixture.Runspace; ps.AddCommand("Save-AudioMetadata") .AddArgument(audioFile); foreach (var item in settings) { if (item.Value is bool boolValue) { if (boolValue) { ps.AddParameter(item.Key); } } else { ps.AddParameter(item.Key, item.Value); } } ps.Invoke(); } Assert.Contains(HashUtility.CalculateHash(audioFile.Path), validHashes); }
public void RenamesFile(string fileName, TestAudioMetadata metadata, string name, string expectedFileName) { var path = Path.Combine("Output", "Rename-AudioFile", fileName); Directory.CreateDirectory(Path.GetDirectoryName(path) !); File.Copy(Path.Combine(PathUtility.GetTestFileRoot(), "Valid", fileName), path, true); var audioFile = new TaggedAudioFile(path); _mapper.Map(metadata, audioFile.Metadata); using (var ps = PowerShell.Create()) { ps.Runspace = _moduleFixture.Runspace; ps.AddCommand("Rename-AudioFile") .AddParameter("AudioFile", audioFile) .AddParameter("Name", name) .AddParameter("Force"); ps.Invoke(); Assert.Equal(expectedFileName, Path.GetFileName(audioFile.Path)); } }
public void RenameRenamesFile( [NotNull] string fileName, [NotNull] TestAudioMetadata metadata, [NotNull] string name, [NotNull] string expectedFileName) { var path = Path.Combine("Output", "Rename", fileName); Directory.CreateDirectory(Path.GetDirectoryName(path)); File.Copy(Path.Combine( new DirectoryInfo(Directory.GetCurrentDirectory()).Parent?.Parent?.Parent?.Parent?.FullName, "TestFiles", "Valid", fileName), path, true); var audioFile = new TaggedAudioFile(path); _mapper.Map(metadata, audioFile.Metadata); audioFile.Rename(name, true); Assert.Equal(expectedFileName, Path.GetFileName(audioFile.Path)); }