public void ValidateObject_WithValidationMethodThrowsException_WrapsExceptionInPostconditionException()
        {
            var validatableModel = ValidatableModel.Valid();

            validatableModel.Invoking(it => it.TriggerValidationWithValidationMethodThrows()).Should().Throw <PostconditionViolatedException>().WithInnerException <TargetInvocationException>();
        }
        public void ValidateObject_WithReturnValueIsNotBool_Throws()
        {
            var validatableModel = ValidatableModel.Valid();

            validatableModel.Invoking(it => it.TriggerValidationWithValidationMethodIsNoPredicate()).Should().Throw <PostconditionViolatedException>();
        }
 public void ConstructorCall_WithInstanceIsValid_DoesNotThrow()
 {
     this.Invoking(_ => ValidatableModel.Valid()).Should().NotThrow();
 }
 public void ConstructorCall_WithNonExistingValidationMethod_Throws()
 {
     this.Invoking(_ => ValidatableModel.WithNonExistingValidationMethod()).Should().Throw <PostconditionViolatedException>();
 }
 public void ConstructorCall_WithInstanceIsNotValid_Throws()
 {
     this.Invoking(_ => ValidatableModel.InValid()).Should().Throw <PostconditionViolatedException>();
 }