コード例 #1
0
    public void Validate_ExceptionOverload_Throws_When_Invalid()
    {
        // Arrange
        var input = new MyValidatableClass {
            Value = null
        };

        // Act & Assert
        input.Invoking(x => x.Validate <ValidationException>())
        .Should().Throw <ValidationException>();
    }
コード例 #2
0
    public void Validate_ExceptionOverload_Does_Not_Throw_When_Valid()
    {
        // Arrange
        var input = new MyValidatableClass {
            Value = "Filled"
        };

        // Act & Assert
        input.Invoking(x => x.Validate <ValidationException>())
        .Should().NotThrow();
    }
コード例 #3
0
    public void Validate_NoArgumentsOverload_Returns_Empty_When_Valid()
    {
        // Arrange
        var input = new MyValidatableClass {
            Value = "Filled"
        };

        // Act
        var actual = input.Validate();

        // Assert
        actual.Should().BeEmpty();
    }
コード例 #4
0
    public void Validate_MemberNameOverload_Returns_ErrorMessage_When_Invalid()
    {
        // Arrange
        var input = new MyValidatableClass {
            Value = null
        };

        // Act
        var actual = input.Validate(nameof(MyValidatableClass.Value));

        // Assert
        actual.Should().Be("Value is required");
    }
コード例 #5
0
    public void Validate_MemberNameOverload_Returns_Empty_When_Valid()
    {
        // Arrange
        var input = new MyValidatableClass {
            Value = "Filled"
        };

        // Act
        var actual = input.Validate(nameof(MyValidatableClass.Value));

        // Assert
        actual.Should().BeEmpty();
    }
コード例 #6
0
    public void Validate_ResultsOverload_Returns_True_When_Valid()
    {
        // Arrange
        var input = new MyValidatableClass {
            Value = "Filled"
        };
        var results = new List <ValidationResult>();

        // Act
        var actual = input.Validate(results, input.Value, nameof(MyValidatableClass.Value), new[] { new RequiredAttribute() });

        // Assert
        actual.Should().BeTrue();
        results.Should().HaveCount(0);
    }
コード例 #7
0
    public void Validate_ResultsOverload_Returns_Null_When_ValidationAttributes_Is_Null_Or_Empty()
    {
        // Arrange
        var input = new MyValidatableClass {
            Value = null
        };
        var results = new List <ValidationResult>();

        // Act
        var actual_null  = input.Validate(results, input.Value, nameof(MyValidatableClass.Value), null);
        var actual_empty = input.Validate(results, input.Value, nameof(MyValidatableClass.Value), Enumerable.Empty <RequiredAttribute>());

        // Assert
        actual_null.Should().BeNull();
        actual_empty.Should().BeNull();
    }