コード例 #1
0
        public void ShouldThrowIfWhenRuleFails()
        {
            const int count          = 3;
            var       ruleSetHandler = new SingleRuleSetHandler <TestObject>
            {
                RuleSetName      = RuleSet,
                ErrorDescription = ErrorDescription
            };

            ruleSetHandler.UseMemoryCacheStorage(Guid.NewGuid().ToString());
            var stubs = AddTestObjects(count);

            foreach (var st in stubs)
            {
                ruleSetHandler.VerifyRule(st);
            }

            const decimal bad = 2m;

            stubs.First().DecimalProperty = bad;
            ruleSetHandler.Rule = testObject => testObject.DecimalProperty == bad;

            Assert.Throws <HttpException>(() => ruleSetHandler.VerifyRule());
        }
コード例 #2
0
        public void ShouldHandleCustomStorage()
        {
            const int count = 10;

            _bucketOfTestObjects = AddTestObjects(count);

            var ruleSetHandler = new SingleRuleSetHandler <TestObject>
            {
                RuleSetName      = RuleSet,
                ErrorDescription = ErrorDescription,
                Rule             = testObject => testObject.IntegerProperty == 444,
            };

            ruleSetHandler.UseMemoryCacheStorage(Guid.NewGuid().ToString());

            foreach (var st in _bucketOfTestObjects)
            {
                ruleSetHandler.VerifyRule(st);
            }

            ruleSetHandler.StorageMechanism = new MemoryCacheStorageProvider <TestObject>();
            AddTestObjects(count);
            Assert.Equal(10, _bucketOfTestObjects.Count());
        }