Esempio n. 1
0
        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));
            });
        }
Esempio n. 2
0
        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));
            });
        }