public void IsValid_WithTwoInvalidProperties_ShouldReturnFalseWithTwoValidationErrors()
        {
            // Setup
            var validationObject = new ValidationObject();
            var validationErrors = new List <ValidationResult>();

            // Perform action 'IsValid'
            var isValid = validationObject.IsValid(out validationErrors);

            // Assert that 'ShouldReturnFalseWithTwoValidationErrors' = 'WithTwoInvalidProperties'
            Assert.False(isValid);
            Assert.Equal(2, validationErrors.Count);
        }
        public void IsValid_WithOneInvalidProperty_ShouldReturnFalseWithOneValidationError()
        {
            // Setup
            var validationObject = new ValidationObject {
                Name = "Test User"
            };
            var validationErrors = new List <ValidationResult>();

            // Perform action 'IsValid'
            var isValid = validationObject.IsValid(out validationErrors);

            // Assert that 'ShouldReturnFalseWithOneValidationError' = 'WithOneInvalidProperty'
            Assert.False(isValid);
            Assert.Equal(1, validationErrors.Count);
        }
        public void ThrowIfInvalid_WithNoValidationErrors_ShouldNotThrow()
        {
            // Setup
            var objectToValidate = new ValidationObject
            {
                Name    = "Hello",
                Surname = "World"
            };

            // Perform action 'ThrowIfInvalid'
            objectToValidate
            .ThrowIfInvalid(nameof(objectToValidate));

            // Assert that 'ShouldNotThrow' = 'WithNoValidationErrors'
        }
        public void ThrowIfInvalid_WithValidationErrors_ShouldThrowValidationException()
        {
            // Setup
            var objectToValidate = new ValidationObject
            {
                Name = "Hello"
            };

            // Perform action 'ThrowIfInvalid'
            Assert.Throws <FrostAura.Libraries.Core.Exceptions.Validation.ValidationException>(() =>
            {
                objectToValidate
                .ThrowIfInvalid(nameof(objectToValidate));
            });

            // Assert that 'ShouldThrowValidationException' = 'WithValidationErrors'
        }