Exemplo n.º 1
0
    public void IsEqualTo_WhenComparingValueObjectsOfDifferentTypes_ThrowInvalidValueObjectComparisonException()
    {
        // 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 = differentValueForPropertyB
        };

        // Act
        Action areEqualAToBAction = () => valueObjectA.IsEqualTo(valueObjectB);
        Action areEqualBToAAction = () => valueObjectB.IsEqualTo(valueObjectA);

        // Assert
        areEqualAToBAction.ShouldThrow <InvalidValueObjectComparisonException>().Message.ShouldContain($"{typeof(FakeValueObjectA)} vs {typeof(FakeValueObjectB)}");
        areEqualBToAAction.ShouldThrow <InvalidValueObjectComparisonException>().Message.ShouldContain($"{typeof(FakeValueObjectB)} vs {typeof(FakeValueObjectA)}");;
    }
Exemplo n.º 2
0
    public void IsEqualTo_TwoNotEqualValueObjectsOfTheSameType_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 FakeValueObjectA()
        {
            PropertyA = valueForPropertyA,
            PropertyB = differentValueForPropertyB
        };

        // Act
        var areEqualAToB = valueObjectA.IsEqualTo(valueObjectB);
        var areEqualBToA = valueObjectB.IsEqualTo(valueObjectA);

        // Assert
        areEqualAToB.ShouldBeFalse();
        areEqualBToA.ShouldBeFalse();
    }