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);
        }
示例#6
0
        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));
        }