public void IsEqualTo_TwoNotEqualAggregatesOfTheSameType_ReturnsFalse() { // Arrange var valueForPropertyA = "test-value-A"; var valueForPropertyB = "test-value-B"; var differentValueForPropertyB = "different-test-value-B"; var valueObjectA = new FakeValueObjectA() { PropertyA = valueForPropertyA, PropertyB = valueForPropertyB }; var valueObjectB = new FakeValueObjectB() { PropertyA = valueForPropertyA, PropertyB = valueForPropertyB }; var differentValueObjectForPropertyB = new FakeValueObjectB() { PropertyA = valueForPropertyA, PropertyB = differentValueForPropertyB }; var aggregateA = new FakeAggregateA() { PropertyA = valueObjectA, PropertyB = valueObjectB }; var aggregateB = new FakeAggregateA() { PropertyA = valueObjectA, PropertyB = differentValueObjectForPropertyB }; // Act var areEqualAToB = aggregateA.IsEqualTo(aggregateB); var areEqualBToA = aggregateB.IsEqualTo(aggregateA); // Assert areEqualAToB.ShouldBeFalse(); areEqualBToA.ShouldBeFalse(); }
public void IsEqualTo_TwoAggregatesNotOfTheSameType_ThrowsInvalidComparisonException() { // Arrange var valueForPropertyA = "test-value-A"; var valueForPropertyB = "test-value-B"; var differentValueForPropertyB = "different-test-value-B"; var valueObjectA = new FakeValueObjectA() { PropertyA = valueForPropertyA, PropertyB = valueForPropertyB }; var valueObjectB = new FakeValueObjectB() { PropertyA = valueForPropertyA, PropertyB = valueForPropertyB }; var differentValueObjectForPropertyB = new FakeValueObjectB() { PropertyA = valueForPropertyA, PropertyB = differentValueForPropertyB }; var aggregateA = new FakeAggregateA() { PropertyA = valueObjectA, PropertyB = valueObjectB }; var aggregateB = new FakeAggregateB() { PropertyA = valueObjectA, PropertyB = differentValueObjectForPropertyB }; // Act Action isEqualToAToBAction = () => aggregateA.IsEqualTo(aggregateB); Action isEqualToBToAAction = () => aggregateB.IsEqualTo(aggregateA); // Assert isEqualToAToBAction.ShouldThrow <InvalidAggregateComparisonException>(); isEqualToBToAAction.ShouldThrow <InvalidAggregateComparisonException>(); }