Created
April 4, 2025 09:14
-
-
Save trikitrok/af3e889f107ef8bb3343c171312c0a1b to your computer and use it in GitHub Desktop.
First possible test for legacy-wav-report exercise
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class ExcludeFilesTest | |
{ | |
[Test] | |
public void Exclude_File_With_Keyword() | |
{ | |
var wavExtractor = Substitute.For<WavExtractor32V>(); | |
var excludeFiles = new ExcludeFiles(wavExtractor); | |
var filenames = new List<string>() | |
{ | |
"file1.wav", | |
"fileWithKeyword.wav", | |
"file1.wav", | |
}; | |
var optional = new List<string>() | |
{ | |
"exclude=Keyword" | |
}; | |
excludeFiles.Execute(filenames, optional); | |
var expectedFiles = new List<string>() | |
{ | |
"file1.wav", | |
"file1.wav", | |
}; | |
wavExtractor.Received().Execute( | |
Arg.Is<List<string>>(x => x.SequenceEqual(expectedFiles)), | |
Arg.Is<List<string>>(x => x.SequenceEqual(optional)) | |
); | |
} | |
} | |
public class ExcludeFiles : WavExtractor32V | |
{ | |
private readonly WavExtractor32V _wavExtractor; | |
public ExcludeFiles(WavExtractor32V wavExtractor) | |
{ | |
_wavExtractor = wavExtractor; | |
} | |
public override void Execute(List<string> filenames, List<string> optional) | |
{ | |
var keyword = optional.First().Split("=").Last(); | |
var filteredFiles = filenames.FindAll(x => !x.Contains(keyword)).ToList(); | |
_wavExtractor.Execute(filteredFiles, optional); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment