Exemplo n.º 1
0
        public void LookingUpModel_ThatOverridesGetHashCodeAndEquals_Works()
        {
            // Test for https://github.com/aspnet/AspNetCore/issues/18069
            // Arrange
            var model       = new EquatableModel();
            var editContext = new EditContext(model);

            editContext.NotifyFieldChanged(editContext.Field(nameof(EquatableModel.Property)));

            model.Property = "new value";

            Assert.True(editContext.IsModified(editContext.Field(nameof(EquatableModel.Property))));
        }
        public void Should_invoke_equals_with_expected_value_when_actual_is_equatable()
        {
            // Given
            var comparer = new AssertEqualityComparer <EquatableModel>();
            var actual   = new EquatableModel();
            var expected = new EquatableModel();

            // When
            comparer.Equals(expected, actual);

            // Then
            actual.ExpectedValueThatWasPassedIn.ShouldBeSameAs(expected);
        }
        public void Should_return_result_from_comparing_equatables(bool expectedReturnValue)
        {
            // Given
            var comparer = new AssertEqualityComparer <EquatableModel>();
            var actual   = new EquatableModel(expectedReturnValue);
            var expected = new EquatableModel();

            // When
            var result = comparer.Equals(expected, actual);

            // Then
            result.ShouldEqual(expectedReturnValue);
        }
Exemplo n.º 4
0
        public void SameContents_WithOverridenEqualsAndGetHashCode_ProduceSameHashCodesAndEquality()
        {
            // Arrange
            var model            = new EquatableModel();
            var fieldIdentifier1 = new FieldIdentifier(model, nameof(EquatableModel.Property));

            model.Property = "changed value"; // To show it makes no difference if the overridden `GetHashCode` result changes
            var fieldIdentifier2 = new FieldIdentifier(model, nameof(EquatableModel.Property));

            // Act/Assert
            Assert.Equal(fieldIdentifier1.GetHashCode(), fieldIdentifier2.GetHashCode());
            Assert.True(fieldIdentifier1.Equals(fieldIdentifier2));
        }