public void Fallback_FileNameComparer_CorrectlyDeDupesList() { // Arrange var comparer = new BuildVNextCoverageSearchFallback.FileNameComparer(); string[] input = { "c:\\File1.txt", "c:\\File1.txt", "c:\\aaa\\FILE1.txt", "c:\\aaa\\bbb\\file1.TXT", "c:/aaa/FILE2.TXT", "d:\\FILE2.txt", "file3.txt" }; // Act var actual = input.Distinct(comparer).ToArray(); // Assert actual.Should().BeEquivalentTo( "c:\\File1.txt", "c:/aaa/FILE2.TXT", "file3.txt" ); }
public void Fallback_FileNameComparer_SimpleComparisons() { var testSubject = new BuildVNextCoverageSearchFallback.FileNameComparer(); // Identical string -> same testSubject.Equals("c:\\File1.txt", "c:\\File1.txt").Should().BeTrue(); // Case only -> same testSubject.Equals("c:\\File1.txt", "c:\\FILE1.txt").Should().BeTrue(); // Different folders -> same testSubject.Equals("c:\\File1.txt", "c:\\aaa\\File1.txt").Should().BeTrue(); testSubject.Equals("c:\\aaa\\bbb\\File1.txt", "c:\\aaa\\File1.txt").Should().BeTrue(); // Different folders and path separators -> same testSubject.Equals("c:/File1.txt", "c:/aaa/File1.txt").Should().BeTrue(); testSubject.Equals("c:/aaa/bbb/File1.txt", "c:/aaa/File1.txt").Should().BeTrue(); // Diferent name -> different testSubject.Equals("c:\\File1.txt", "c:\\File2.txt").Should().BeFalse(); }