public void GetValueToBeValidatedShouldThrowIfTheAccessorThrowsAndExceptionBehaviourIsThrow([Frozen] IGetsAccessorExceptionBehaviour behaviourProvider,
                                                                                             ValueToBeValidatedProvider sut,
                                                                                             [ManifestModel] ManifestValue manifestValue,
                                                                                             object parentValue,
                                                                                             ResolvedValidationOptions validationOptions,
                                                                                             Exception exception)
 {
     Mock.Get(behaviourProvider).Setup(x => x.GetBehaviour(manifestValue, validationOptions)).Returns(ValueAccessExceptionBehaviour.Throw);
     manifestValue.AccessorFromParent = obj => throw exception;
     Assert.That(() => sut.GetValueToBeValidated(manifestValue, parentValue, validationOptions),
                 Throws.InstanceOf <ValidationException>().And.InnerException.SameAs(exception));
 }
 public void GetValueToBeValidatedShouldReturnErrorResultIfAccessorThrowsAndExceptionBehaviourIsError([Frozen] IGetsAccessorExceptionBehaviour behaviourProvider,
                                                                                                      ValueToBeValidatedProvider sut,
                                                                                                      [ManifestModel] ManifestValue manifestValue,
                                                                                                      object parentValue,
                                                                                                      ResolvedValidationOptions validationOptions,
                                                                                                      Exception exception)
 {
     Mock.Get(behaviourProvider).Setup(x => x.GetBehaviour(manifestValue, validationOptions)).Returns(ValueAccessExceptionBehaviour.TreatAsError);
     manifestValue.AccessorFromParent = obj => throw exception;
     Assert.That(() => sut.GetValueToBeValidated(manifestValue, parentValue, validationOptions), Is.InstanceOf <ErrorGetValueToBeValidatedResponse>());
 }
Пример #3
0
 /// <summary>
 /// Initialises a new instance of <see cref="ValueToBeValidatedProvider"/>.
 /// </summary>
 /// <param name="behaviourProvider">The exception behaviour provider.</param>
 /// <exception cref="ArgumentNullException">If the <paramref name="behaviourProvider"/> is <see langword="null" />.</exception>
 public ValueToBeValidatedProvider(IGetsAccessorExceptionBehaviour behaviourProvider)
 {
     this.behaviourProvider = behaviourProvider ?? throw new ArgumentNullException(nameof(behaviourProvider));
 }