public void GetResolvedValidationOptionsShouldReturnHardcodedDefaultsIfSpecifiedAndDefaultOptionsAreNull([Frozen] IOptions <ValidationOptions> opts, ValidationOptionsResolver sut, ValidationOptions defaultOptions) { Mock.Get(opts).SetupGet(x => x.Value).Returns(defaultOptions); defaultOptions.AccessorExceptionBehaviour = null; defaultOptions.EnableMessageGeneration = null; defaultOptions.RuleThrowingBehaviour = null; defaultOptions.EnableRuleParallelization = null; var result = sut.GetResolvedValidationOptions(null); Assert.Multiple(() => { Assert.That(result.AccessorExceptionBehaviour, Is.EqualTo(ValueAccessExceptionBehaviour.TreatAsError), nameof(ValidationOptions.AccessorExceptionBehaviour)); Assert.That(result.EnableMessageGeneration, Is.EqualTo(false), nameof(ValidationOptions.EnableMessageGeneration)); Assert.That(result.RuleThrowingBehaviour, Is.EqualTo(RuleThrowingBehaviour.OnError), nameof(ValidationOptions.RuleThrowingBehaviour)); Assert.That(result.EnableRuleParallelization, Is.EqualTo(false), nameof(ValidationOptions.EnableRuleParallelization)); }); }
public void GetResolvedValidationOptionsShouldReturnValuesFromDefaultOptionsIfSpecifiedOptionsAreNull([Frozen] IOptions <ValidationOptions> opts, ValidationOptionsResolver sut, ValidationOptions defaultOptions) { Mock.Get(opts).SetupGet(x => x.Value).Returns(defaultOptions); defaultOptions.AccessorExceptionBehaviour = ValueAccessExceptionBehaviour.Throw; defaultOptions.EnableMessageGeneration = true; defaultOptions.RuleThrowingBehaviour = RuleThrowingBehaviour.OnFailure; defaultOptions.EnableRuleParallelization = true; var result = sut.GetResolvedValidationOptions(null); Assert.Multiple(() => { Assert.That(result.AccessorExceptionBehaviour, Is.EqualTo(ValueAccessExceptionBehaviour.Throw), nameof(ValidationOptions.AccessorExceptionBehaviour)); Assert.That(result.EnableMessageGeneration, Is.EqualTo(true), nameof(ValidationOptions.EnableMessageGeneration)); Assert.That(result.RuleThrowingBehaviour, Is.EqualTo(RuleThrowingBehaviour.OnFailure), nameof(ValidationOptions.RuleThrowingBehaviour)); Assert.That(result.EnableRuleParallelization, Is.EqualTo(true), nameof(ValidationOptions.EnableRuleParallelization)); }); }