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();
        }