public static void Equals_with_Object___Should_return_false___When_parameter_other_is_not_of_the_same_type() { var scenarios = EquatableTestScenarios.ValidateAndPrepareForTesting(); foreach (var scenario in scenarios) { // Arrange, Act var actuals1 = scenario.ObjectsThatDeriveFromScenarioTypeButAreNotOfTheSameTypeAsReferenceObject.Select(_ => scenario.ReferenceObject.Equals((object)_)).ToList(); var actuals2 = scenario.ObjectsThatAreNotOfTheSameTypeAsReferenceObject.Select(_ => scenario.ReferenceObject.Equals((object)_)).ToList(); // Assert actuals1.AsTest().Must().Each().BeFalse(because: scenario.Id); actuals2.AsTest().Must().Each().BeFalse(because: scenario.Id); } }
public static void NotEqualsOperator___Should_return_false___When_objects_being_compared_have_same_property_values() { var scenarios = EquatableTestScenarios.ValidateAndPrepareForTesting(); foreach (var scenario in scenarios) { // Arrange, Act var actuals1 = scenario.ObjectsThatAreEqualToButNotTheSameAsReferenceObject.Select(_ => scenario.ReferenceObject != _).ToList(); var actuals2 = scenario.ObjectsThatAreEqualToButNotTheSameAsReferenceObject.Select(_ => _ != scenario.ReferenceObject).ToList(); // Assert actuals1.AsTest().Must().Each().BeFalse(because: scenario.Id); actuals2.AsTest().Must().Each().BeFalse(because: scenario.Id); } }
public static void NotEqualsOperator___Should_return_true___When_objects_being_compared_derive_from_the_same_type_but_are_not_of_the_same_type() { var scenarios = EquatableTestScenarios.ValidateAndPrepareForTesting(); foreach (var scenario in scenarios) { // Arrange, Act var actuals1 = scenario.ObjectsThatDeriveFromScenarioTypeButAreNotOfTheSameTypeAsReferenceObject.Select(_ => scenario.ReferenceObject != _).ToList(); var actuals2 = scenario.ObjectsThatDeriveFromScenarioTypeButAreNotOfTheSameTypeAsReferenceObject.Select(_ => _ != scenario.ReferenceObject).ToList(); // Assert actuals1.AsTest().Must().Each().BeTrue(because: scenario.Id); actuals2.AsTest().Must().Each().BeTrue(because: scenario.Id); } }
public static void NotEqualsOperator___Should_return_false___When_same_object_is_on_both_sides_of_operator() { var scenarios = EquatableTestScenarios.ValidateAndPrepareForTesting(); foreach (var scenario in scenarios) { // Arrange, Act #pragma warning disable CS1718 // Comparison made to same variable var actual = scenario.ReferenceObject != scenario.ReferenceObject; #pragma warning restore CS1718 // Comparison made to same variable // Assert actual.AsTest().Must().BeFalse(because: scenario.Id); } }
public static void GetHashCode___Should_be_equal_for_two_objects___When_objects_have_the_same_property_values() { var scenarios = EquatableTestScenarios.ValidateAndPrepareForTesting(); foreach (var scenario in scenarios) { // Arrange, Act var expected = scenario.ReferenceObject.GetHashCode(); var actuals = scenario.ObjectsThatAreEqualToButNotTheSameAsReferenceObject.Select(_ => _.GetHashCode()).ToList(); // Assert actuals.AsTest().Must().Each().BeEqualTo(expected, because: scenario.Id); } }
public static void GetHashCode___Should_not_be_equal_for_two_objects___When_objects_have_different_property_values() { var scenarios = EquatableTestScenarios.ValidateAndPrepareForTesting(); foreach (var scenario in scenarios) { // Arrange, Act var unexpected = scenario.ReferenceObject.GetHashCode(); var actuals = scenario.ObjectsThatAreNotEqualToReferenceObject.Select(_ => _.GetHashCode()).ToList(); // Assert actuals.AsTest().Must().NotContainElement(unexpected, because: scenario.Id); } }
public static void Equals_with_ModelEqualityPrivateSetReadOnlyDictionaryOfNullable___Should_return_false___When_parameter_other_is_null() { var scenarios = EquatableTestScenarios.ValidateAndPrepareForTesting(); foreach (var scenario in scenarios) { // Arrange ModelEqualityPrivateSetReadOnlyDictionaryOfNullable systemUnderTest = null; // Act var actual = scenario.ReferenceObject.Equals(systemUnderTest); // Assert actual.AsTest().Must().BeFalse(because: scenario.Id); } }
public static void NotEqualsOperator___Should_return_true___When_one_side_of_operator_is_null_and_the_other_side_is_not_null() { var scenarios = EquatableTestScenarios.ValidateAndPrepareForTesting(); foreach (var scenario in scenarios) { // Arrange ModelEqualityPrivateSetReadOnlyDictionaryOfNullable systemUnderTest = null; // Act var actual1 = systemUnderTest != scenario.ReferenceObject; var actual2 = scenario.ReferenceObject != systemUnderTest; // Assert actual1.AsTest().Must().BeTrue(because: scenario.Id); actual2.AsTest().Must().BeTrue(because: scenario.Id); } }
public static void EqualsOperator___Should_return_false___When_one_side_of_operator_is_null_and_the_other_side_is_not_null() { var scenarios = EquatableTestScenarios.ValidateAndPrepareForTesting(); foreach (var scenario in scenarios) { // Arrange ModelEqualityPublicSetArray systemUnderTest = null; // Act var actual1 = systemUnderTest == scenario.ReferenceObject; var actual2 = scenario.ReferenceObject == systemUnderTest; // Assert actual1.AsTest().Must().BeFalse(because: scenario.Id); actual2.AsTest().Must().BeFalse(because: scenario.Id); } }