Пример #1
0
        internal GenderDeterminator(RulesProvider rulesLoader = null)
        {
            var genderRules = (rulesLoader ?? new RulesProvider(new EmbeddedResourceLoader())).GenderRules;

            _lastNameDet   = new RuleSetDeterminator(genderRules.LastName);
            _firstNameDet  = new RuleSetDeterminator(genderRules.FirstName);
            _middleNameDet = new RuleSetDeterminator(genderRules.MiddleName);
        }
Пример #2
0
        public void Should_automatically_load_rules()
        {
            var loader = new Mock <IRulesLoader>();

            loader.Setup(l => l.Load()).Returns(new Rules.Data.Rules());

            var provider = new RulesProvider(loader.Object);
            var rules    = provider.Rules;

            loader.Verify(l => l.Load(), Times.AtLeastOnce);
        }
Пример #3
0
        public void Should_load_rules_only_once()
        {
            var loader = new Mock <IRulesLoader>();

            loader.Setup(l => l.Load()).Returns(new Rules.Data.Rules());

            var provider = new RulesProvider(loader.Object);
            var rules    = provider.Rules;
            var rules2   = provider.Rules;

            loader.Verify(l => l.Load(), Times.Exactly(1));
        }
Пример #4
0
        public void GetDefinitions_ReturnsExpected()
        {
            var defns = new RuleDefinition[]
            {
                new RuleDefinition {
                    RuleKey = "key1"
                },
                new RuleDefinition {
                    RuleKey = "key2"
                }
            };

            var testSubject = new RulesProvider(defns, ValidActiveRulesCalculator);

            testSubject.GetDefinitions().Should().BeEquivalentTo(defns);
        }
Пример #5
0
        public void GetActiveRulesConfig_ReturnsExpected()
        {
            var defns             = Array.Empty <RuleDefinition>();
            var activeRulesConfig = new[]
            {
                new Rule {
                    Key = "key1"
                }, new Rule {
                    Key = "key2"
                }
            };

            var calculator = new Mock <IActiveRulesCalculator>();

            calculator.Setup(x => x.Calculate()).Returns(activeRulesConfig);

            var testSubject = new RulesProvider(defns, calculator.Object);

            testSubject.GetActiveRulesConfiguration().Should().BeEquivalentTo(activeRulesConfig);
            calculator.VerifyAll();
            calculator.VerifyNoOtherCalls();
        }
Пример #6
0
        public void FixtureSetUp()
        {
            var loader = new EmbeddedResourceLoader();

            provider = new RulesProvider(loader);
        }
Пример #7
0
 internal CaseInflection(RulesProvider provider, Gender gender)
 {
     this.provider = provider;
     this.gender   = gender;
 }
Пример #8
0
 public Petrovich(IRulesLoader rulesLoader = null)
 {
     loader              = rulesLoader;
     provider            = loader != null? new RulesProvider(loader): EmbeddedResourceLoader;
     _genderDeterminator = rulesLoader == null ? GenderUtils.Determinator : new GenderDeterminator(provider);
 }