示例#1
0
            public void Different_Paths_Get_Different_Hash_Codes(bool isCaseSensitive)
            {
                // Given, When
                var comparer = new PathComparer(isCaseSensitive);
                var first    = new FilePath("shaders/basic.vert");
                var second   = new FilePath("shaders/basic.frag");

                // Then
                Assert.NotEqual(comparer.GetHashCode(first), comparer.GetHashCode(second));
            }
示例#2
0
            public void Same_Paths_But_Different_Casing_Get_Same_Hash_Code_Depending_On_Case_Sensitivity(bool isCaseSensitive, bool expected)
            {
                // Given, When
                var comparer = new PathComparer(isCaseSensitive);
                var first    = new FilePath("shaders/basic.vert");
                var second   = new FilePath("SHADERS/BASIC.VERT");

                // Then
                Assert.Equal(expected, comparer.GetHashCode(first) == comparer.GetHashCode(second));
            }
示例#3
0
            public void Same_Paths_Get_Same_Hash_Code(bool isCaseSensitive)
            {
                // Given, When
                var comparer = new PathComparer(isCaseSensitive);
                var first    = new FilePath("shaders/basic.vert");
                var second   = new FilePath("shaders/basic.vert");

                // Then
                Assert.AreEqual(comparer.GetHashCode(first), comparer.GetHashCode(second));
            }
示例#4
0
            public void Different_Paths_Get_Different_Hash_Codes(bool isCaseSensitive)
            {
                // Given
                var comparer = new PathComparer(isCaseSensitive);
                var first    = new FilePath("shaders/basic.vert");
                var second   = new FilePath("shaders/basic.frag");

                // When
                var firstHash  = comparer.GetHashCode(first);
                var secondHash = comparer.GetHashCode(second);

                // Then
                firstHash.ShouldNotBe(secondHash);
            }
示例#5
0
            public void Should_Throw_If_Other_Path_Is_Null()
            {
                // Given
                var comparer = new PathComparer(true);

                // When
                var result = Record.Exception(() => comparer.GetHashCode(null));

                // Then
                Assert.IsArgumentNullException(result, "obj");
            }
示例#6
0
            public void Should_Throw_If_Other_Path_Is_Null()
            {
                // Given
                var comparer = new PathComparer(true);

                // When
                var result = Assert.Catch(() => comparer.GetHashCode(null));

                // Then
                Assert.That(result, Is.TypeOf <ArgumentNullException>());
                Assert.That(((ArgumentNullException)result).ParamName, Is.EqualTo("obj"));
            }
示例#7
0
            public void Should_Throw_If_Other_Path_Is_Null()
            {
                // Given
                var comparer = new PathComparer(true);

                // When
                var result = Record.Exception(() => comparer.GetHashCode(null));

                // Then
                Assert.IsType <ArgumentNullException>(result);
                Assert.Equal("obj", ((ArgumentNullException)result).ParamName);
            }
示例#8
0
            public void Should_Throw_If_Other_Path_Is_Null()
            {
                // Given
                var comparer = new PathComparer(true);

                // When
                var result = Record.Exception(() => comparer.GetHashCode(null));

                // Then
                result.ShouldBeOfType <ArgumentNullException>()
                .And().ParamName.ShouldBe("obj");
            }
示例#9
0
        public void TestIfGetHashCodeIsTheSameWhenRoutesAreEqual()
        {
            // Arrange
            var x = new Path <StopTimeInfo>
            {
                new StopTimeInfo
                {
                    DepartureTime = TimeSpan.FromHours(1),
                    Route         = "A"
                },
                new StopTimeInfo
                {
                    DepartureTime = TimeSpan.FromHours(2),
                    Route         = "A"
                },
                new StopTimeInfo
                {
                    DepartureTime = TimeSpan.FromHours(3),
                    Route         = "D"
                }
            };
            var y = new Path <StopTimeInfo>
            {
                new StopTimeInfo
                {
                    DepartureTime = TimeSpan.FromHours(1),
                    Route         = "A"
                },
                new StopTimeInfo
                {
                    DepartureTime = TimeSpan.FromHours(2),
                    Route         = "A"
                },
                new StopTimeInfo
                {
                    DepartureTime = TimeSpan.FromHours(3),
                    Route         = "D"
                }
            };

            // Act
            var resultX = _pathComparer.GetHashCode(x);
            var resultY = _pathComparer.GetHashCode(y);

            // Assert
            Assert.AreEqual(resultX, resultY);
        }
示例#10
0
            public void Same_Paths_But_Different_Casing_Get_Same_Hash_Code_Depending_On_Case_Sensitivity(bool isCaseSensitive, bool expected)
            {
                // Given, When
                var comparer = new PathComparer(isCaseSensitive);
                var first = new FilePath("shaders/basic.vert");
                var second = new FilePath("SHADERS/BASIC.VERT");

                // Then
                Assert.Equal(expected, comparer.GetHashCode(first) == comparer.GetHashCode(second));
            }
示例#11
0
            public void Different_Paths_Get_Different_Hash_Codes(bool isCaseSensitive)
            {
                // Given, When
                var comparer = new PathComparer(isCaseSensitive);
                var first = new FilePath("shaders/basic.vert");
                var second = new FilePath("shaders/basic.frag");

                // Then
                Assert.NotEqual(comparer.GetHashCode(first), comparer.GetHashCode(second));
            }
示例#12
0
            public void Should_Throw_If_Other_Path_Is_Null()
            {
                // Given
                var comparer = new PathComparer(true);

                // When
                var result = Record.Exception(() => comparer.GetHashCode(null));

                // Then
                Assert.IsType<ArgumentNullException>(result);
                Assert.Equal("obj", ((ArgumentNullException) result).ParamName);
            }
示例#13
0
            public void ShouldThrowIfOtherPathIsNull()
            {
                // Given
                PathComparer comparer = new PathComparer(true);

                // When
                TestDelegate test = () => comparer.GetHashCode(null);

                // Then
                Assert.Throws<ArgumentNullException>(test);
            }
示例#14
0
            public void SamePathsGetSameHashCode(bool isCaseSensitive)
            {
                // Given, When
                PathComparer comparer = new PathComparer(isCaseSensitive);
                FilePath first = new FilePath("shaders/basic.vert");
                FilePath second = new FilePath("shaders/basic.vert");

                // Then
                Assert.AreEqual(comparer.GetHashCode(first), comparer.GetHashCode(second));
            }
示例#15
0
            public void SamePathsButDifferentCasingGetSameHashCodeDependingOnCaseSensitivity(bool isCaseSensitive, bool expected)
            {
                // Given, When
                PathComparer comparer = new PathComparer(isCaseSensitive);
                FilePath first = new FilePath("shaders/basic.vert");
                FilePath second = new FilePath("SHADERS/BASIC.VERT");

                // Then
                Assert.AreEqual(expected, comparer.GetHashCode(first) == comparer.GetHashCode(second));
            }