public static void GetHashCode___Should_return_different_hash_code___For_different_Color_objects() { // Arrange var item1 = Color.FromArgb(255, 255, 218, 185); var item2 = Color.FromArgb(254, 255, 218, 185); var item3 = Color.FromArgb(255, 254, 218, 185); var item4 = Color.FromArgb(255, 255, 219, 185); var item5 = Color.FromArgb(255, 255, 218, 184); var systemUnderTest = new ColorEqualityComparer(); // Act var hash1 = systemUnderTest.GetHashCode(item1); var hash2 = systemUnderTest.GetHashCode(item2); var hash3 = systemUnderTest.GetHashCode(item3); var hash4 = systemUnderTest.GetHashCode(item4); var hash5 = systemUnderTest.GetHashCode(item5); // Assert hash1.Should().NotBe(hash2); hash1.Should().NotBe(hash3); hash1.Should().NotBe(hash4); hash1.Should().NotBe(hash5); hash2.Should().NotBe(hash3); hash2.Should().NotBe(hash4); hash2.Should().NotBe(hash5); hash3.Should().NotBe(hash4); hash3.Should().NotBe(hash5); hash4.Should().NotBe(hash5); }
public static void GetHashCode___Should_return_same_hash_code___For_Color_objects_that_are_equal() { // Arrange var item1 = Color.FromArgb(255, 255, 218, 185); var item2 = Color.FromArgb(255, 218, 185); var item3 = Color.PeachPuff; var systemUnderTest = new ColorEqualityComparer(); // Act var hash1 = systemUnderTest.GetHashCode(item1); var hash2 = systemUnderTest.GetHashCode(item2); var hash3 = systemUnderTest.GetHashCode(item3); // Assert hash1.Should().Be(hash2); hash2.Should().Be(hash3); }
public static void GetHashCode___Should_return_same_hash_code___When_called_twice_on_same_object_reference() { // Arrange var item1 = Color.FromArgb(255, 218, 185); var item2 = Color.PeachPuff; var systemUnderTest = new ColorEqualityComparer(); // Act var hash1a = systemUnderTest.GetHashCode(item1); var hash1b = systemUnderTest.GetHashCode(item1); var hash2a = systemUnderTest.GetHashCode(item2); var hash2b = systemUnderTest.GetHashCode(item2); // Assert hash1a.Should().Be(hash1b); hash2a.Should().Be(hash2b); }