Exemple #1
0
        public void ShouldCreateCorrectMatchingRule()
        {
            PolicyData policyData = new PolicyData("Validate Parameters");

            policyData.Handlers.Add(new ValidationCallHandlerData());
            ParameterTypeMatchingRuleData matchingRuleData = GetParameterTypeMatchingRuleData();

            policyData.MatchingRules.Add(matchingRuleData);

            PolicyInjectionSettings settings = new PolicyInjectionSettings();

            settings.Policies.Add(policyData);

            DictionaryConfigurationSource configSource = new DictionaryConfigurationSource();

            configSource.Add(PolicyInjectionSettings.SectionName, settings);

            PolicySetFactory factory  = new PolicySetFactory(configSource);
            PolicySet        policies = factory.Create();

            Policy policy = policies[1];

            Assert.IsTrue(policy is RuleDrivenPolicy);
            RuleDrivenPolicy validateRule = (RuleDrivenPolicy)policy;

            Assert.IsTrue(validateRule.RuleSet[0] is ParameterTypeMatchingRule);
            ParameterTypeMatchingRule rule = (ParameterTypeMatchingRule)(validateRule.RuleSet[0]);

            Assert.AreEqual(3, rule.ParameterMatches.Count);
            for (int i = 0; i < matchingRuleData.Matches.Count; ++i)
            {
                AssertMatchDataEqual(matchingRuleData.Matches[i], rule.ParameterMatches[i], "Mismatch at element {0}", i);
            }
        }
        public void AssembledProperlyPerfCounterHandler()
        {
            PolicyInjectionSettings settings = new PolicyInjectionSettings();

            PolicyData policyData = new PolicyData("policy");
            PerformanceCounterCallHandlerData data = new PerformanceCounterCallHandlerData("FooCallHandler", 2);

            policyData.MatchingRules.Add(new CustomMatchingRuleData("match everything", typeof(AlwaysMatchingRule)));
            policyData.Handlers.Add(data);
            settings.Policies.Add(policyData);

            DictionaryConfigurationSource dictConfigurationSource = new DictionaryConfigurationSource();

            dictConfigurationSource.Add(PolicyInjectionSettings.SectionName, settings);

            IUnityContainer container = new UnityContainer().AddNewExtension <Interception>();

            settings.ConfigureContainer(container);

            RuleDrivenPolicy policy = container.Resolve <RuleDrivenPolicy>("policy");

            ICallHandler handler
                = (policy.GetHandlersFor(GetMethodImpl(MethodBase.GetCurrentMethod()), container)).ElementAt(0);

            Assert.IsNotNull(handler);
            Assert.AreEqual(handler.Order, data.Order);
        }
    public void UpdatePolicy()
    {
        for (int i = 0; i < PolicyDisplayList.Count; i++)
        {
            Destroy(PolicyDisplayList[i]);
        }
        PolicyDisplayList.Clear();

        List <PolicyDataCore> policyList = GameManager.Instance.MakePolicyList();

        for (int i = 0; i < policyList.Count; i++)
        {
            GameObject newObj    = Instantiate(PolicyTemplate);
            PolicyData newPolicy = newObj.GetComponent <PolicyData>();
            newPolicy.NameText.text        = policyList[i].Name;
            newPolicy.DescriptionText.text = policyList[i].Description;
            newPolicy.MoneyDeltaValue      = policyList[i].MoneyDeltaValue;
            newPolicy.ApprovalDeltaValue   = policyList[i].ApprovalDeltaValue;
            newPolicy.PopulationDeltaValue = policyList[i].PopulationDeltaValue;
            newPolicy.GutPriceDeltaValue   = policyList[i].GutPriceDeltaValue;
            newPolicy.IsPercentPoint       = policyList[i].IsPercentPoint;
            newObj.GetComponent <RectTransform>().SetParent(PolicyListBody);
            newObj.GetComponent <RectTransform>().localScale = new Vector3(1, 1, 1);
            newObj.SetActive(true);
            newPolicy.DisplayValueInfo();
            PolicyDisplayList.Add(newObj);
        }
    }
Exemple #4
0
        public void ActivateFunction(Store s)
        {
            MarketRules.Instance.AddPolicyRule(s, username, storeId, policyRuleRelation, ruleContext, ruleType, category, productId, valueLessThan, valueGreaterEQThan, d1, d2).Wait();
            var policyData = new PolicyData(username, storeId, policyRuleRelation, ruleContext, ruleType, category, productId, valueLessThan, valueGreaterEQThan, d1, d2);

            MarketRulesService.Instance.policyManager.AddPolicy(policyData).Wait();
        }
        public void PolicyDataConstructorTest()
        {
            String     myline        = "B100003,20/07/1969,20000,Y,4000,45";
            PolicyData NewPolicyData = new PolicyData(myline);

            Assert.Equal("B100003", NewPolicyData.PolicyNumber);
        }
    public void DisplayPolicy()
    {
        Policy temp = PolicyData.GetItem(EventSystem.current.currentSelectedGameObject.name);

        title.text = temp.guiName;
        body.text  = temp.description;
    }
        public static CallHandlerData SerializeAndDeserializeHandler(CallHandlerData handlerData)
        {
            PolicyData policy = new PolicyData("policy");

            policy.Handlers.Add(handlerData);

            PolicyInjectionSettings settings = new PolicyInjectionSettings();

            settings.Policies.Add(policy);

            Dictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>();

            sections.Add(PolicyInjectionSettings.SectionName, settings);

            IConfigurationSource configurationSource =
                ConfigurationTestHelper.SaveSectionsInFileAndReturnConfigurationSource(sections);

            PolicyInjectionSettings deserializedSection =
                configurationSource.GetSection(PolicyInjectionSettings.SectionName) as PolicyInjectionSettings;

            Assert.IsNotNull(deserializedSection);

            PolicyData deserializedPolicy = deserializedSection.Policies.Get(0);

            Assert.IsNotNull(deserializedPolicy);
            return(deserializedPolicy.Handlers.Get(0));
        }
        public void CreateAuthorizationCallHandlerFromConfiguration()
        {
            PolicyInjectionSettings settings = new PolicyInjectionSettings();

            PolicyData policyData             = new PolicyData("policy");
            AuthorizationCallHandlerData data = new AuthorizationCallHandlerData("foo", 2);

            policyData.MatchingRules.Add(new CustomMatchingRuleData("matchesEverything", typeof(AlwaysMatchingRule)));
            policyData.Handlers.Add(data);
            settings.Policies.Add(policyData);

            using (var configSource = new FileConfigurationSource("Authorization.config", false))
            {
                IUnityContainer container = new UnityContainer().AddNewExtension <Interception>();
                settings.ConfigureContainer(container, configSource);
                new UnityContainerConfigurator(container)
                .RegisterAll(
                    configSource,
                    (ITypeRegistrationsProvider)configSource.GetSection(SecuritySettings.SectionName));

                InjectionFriendlyRuleDrivenPolicy policy = container.Resolve <InjectionFriendlyRuleDrivenPolicy>("policy");

                ICallHandler handler =
                    (policy.GetHandlersFor(new MethodImplementationInfo(null, (MethodInfo)MethodBase.GetCurrentMethod()), container)).ElementAt(0);
                Assert.IsNotNull(handler);
                Assert.AreEqual(handler.Order, data.Order);
                //Assert.AreSame(authorizationProvider, ((AuthorizationCallHandler)handler).AutorizationProvider); // TODO this test only checked for provider name, so it didn't fail even though the configuration source supplied didn't have the settings required to build it
            }
        }
Exemple #9
0
    // Use this for initialization
    void Start()
    {
        policies = PolicyData.GetKeys();
        float y = 0;

        parent.transform.position = new Vector2(0, 0);
        Debug.Log(currentPolicy);
        if (currentPolicy.nameID == "")
        {
            button.SetActive(false);
        }
        if (cost.text == "Cost: $99999999")
        {
            cost.enabled    = false;
            counter.enabled = false;
        }
        if (policies != null)
        {
            foreach (string policyName in policies)
            {
                Policy     temp        = PolicyData.GetItem(policyName);
                GameObject text        = Instantiate(textbox) as GameObject;
                Text       description = text.GetComponentInChildren <Text>();
                description.text = temp.guiName;
                text.name        = temp.nameID;

                text.GetComponent <Button>().onClick.AddListener(() => { DisplayPolicy(); });
                text.transform.SetParent(parent.transform);
                y = y + text.transform.lossyScale.y;
                Vector2 pos = new Vector2(text.transform.position.x, y);
                text.transform.position   = pos;
                text.transform.localScale = new Vector3(1f, 1f, 1f);
            }
        }
    }
Exemple #10
0
        public void TestCallHandlerCustomFactory()
        {
            PolicyInjectionSettings settings = new PolicyInjectionSettings();
            PolicyData policyData            = new PolicyData("policy");
            ExceptionCallHandlerData data    = new ExceptionCallHandlerData("exceptionhandler", "Swallow Exceptions");

            data.Order = 5;
            policyData.Handlers.Add(data);
            policyData.MatchingRules.Add(new CustomMatchingRuleData("matchesEverything", typeof(AlwaysMatchingRule)));
            settings.Policies.Add(policyData);

            ExceptionPolicyData swallowExceptions = new ExceptionPolicyData("Swallow Exceptions");

            swallowExceptions.ExceptionTypes.Add(new ExceptionTypeData("Exception", typeof(Exception), PostHandlingAction.None));

            DictionaryConfigurationSource dictConfigurationSource = new DictionaryConfigurationSource();

            IUnityContainer container = new UnityContainer().AddNewExtension <Interception>();

            settings.ConfigureContainer(container);
            container.RegisterInstance("Swallow Exceptions", swallowExceptions.BuildExceptionPolicy());


            RuleDrivenPolicy policy = container.Resolve <RuleDrivenPolicy>("policy");

            ICallHandler handler
                = (policy.GetHandlersFor(new MethodImplementationInfo(null, (MethodInfo)MethodBase.GetCurrentMethod()), container)).ElementAt(0);

            Assert.IsNotNull(handler);
            Assert.AreEqual(handler.Order, data.Order);
        }
        protected static MatchingRuleData SerializeAndDeserializeMatchingRule(MatchingRuleData typeMatchingRule)
        {
            PolicyData policy = new PolicyData("policy");

            policy.MatchingRules.Add(typeMatchingRule);

            PolicyInjectionSettings settings = new PolicyInjectionSettings();

            settings.Policies.Add(policy);

            Dictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>();

            sections.Add(PolicyInjectionSettings.SectionName, settings);

            IConfigurationSource configurationSource = ConfigurationTestHelper.SaveSectionsInFileAndReturnConfigurationSource(sections);

            PolicyInjectionSettings deserializedSection = configurationSource.GetSection(PolicyInjectionSettings.SectionName) as PolicyInjectionSettings;

            Assert.IsNotNull(deserializedSection);

            PolicyData deserializedPolicy = deserializedSection.Policies.Get(0);

            Assert.IsNotNull(deserializedPolicy);

            return(deserializedPolicy.MatchingRules.Get(0));
        }
        public void GetPolicyTypeBadDataTest()
        {
            String     myline        = "b100003,20/07/1969,20000,Y,4000,45";
            PolicyData NewPolicyData = new PolicyData(myline);

            Assert.Equal("B", NewPolicyData.GetPolicyType());
        }
Exemple #13
0
        [Ignore]    // TODO the configurator will not work as currently designed
        public void CanCreateExceptionHandlerFromConfiguration()
        {
            PolicyInjectionSettings settings = new PolicyInjectionSettings();
            PolicyData policyData            = new PolicyData("policy");

            policyData.Handlers.Add(new ExceptionCallHandlerData("exceptionhandler", "Swallow Exceptions"));
            policyData.MatchingRules.Add(new CustomMatchingRuleData("matchesEverything", typeof(AlwaysMatchingRule)));
            settings.Policies.Add(policyData);

            ExceptionHandlingSettings ehabSettings      = new ExceptionHandlingSettings();
            ExceptionPolicyData       swallowExceptions = new ExceptionPolicyData("Swallow Exceptions");

            swallowExceptions.ExceptionTypes.Add(new ExceptionTypeData("Exception", typeof(Exception), PostHandlingAction.None));
            ehabSettings.ExceptionPolicies.Add(swallowExceptions);
            DictionaryConfigurationSource dictConfigurationSource = new DictionaryConfigurationSource();

            dictConfigurationSource.Add(PolicyInjectionSettings.SectionName, settings);
            dictConfigurationSource.Add(ExceptionHandlingSettings.SectionName, ehabSettings);

            using (PolicyInjector injector = new PolicyInjector(dictConfigurationSource))
            {
                TargetType target = injector.Create <TargetType>();
                target.WillThrowException();
            }
        }
Exemple #14
0
        public void PolicyBPayoutWithDescretionaryBonusTest()
        {
            String     myline        = "B100003,1/01/1995,12000,Y,2000,41";
            PolicyData NewPolicyData = new PolicyData(myline);
            Policy     policy        = new PolicyB(NewPolicyData);

            Assert.Equal(18894m, policy.GetMaturityPayout());
        }
Exemple #15
0
        public void PolicyBWitoutDescretionaryBonusTest()
        {
            String     myline        = "B100003,1/01/1970,18000,N,3000,43";
            PolicyData NewPolicyData = new PolicyData(myline);
            Policy     policy        = new PolicyB(NewPolicyData);

            Assert.Equal(0, policy.GetBonusValue());
        }
Exemple #16
0
        public void PolicyBWithDescretionaryNetPremiumTest()
        {
            String     myline        = "B100003,1/01/1995,12000,Y,2000,41";
            PolicyData NewPolicyData = new PolicyData(myline);
            Policy     policy        = new PolicyB(NewPolicyData);

            Assert.Equal(11400m, policy.GetNetPremium());
        }
Exemple #17
0
        public void PolicyCPayoutWithDescretionaryBonusTest()
        {
            String     myline        = "C100003,1/01/1990,17000,Y,3000,46";
            PolicyData NewPolicyData = new PolicyData(myline);
            Policy     policy        = new PolicyC(NewPolicyData);

            Assert.Equal((decimal)27462.6, policy.GetMaturityPayout());
        }
Exemple #18
0
        public void PolicyCWithoutDescretionaryBonusTest()
        {
            String     myline        = "C100003,1/01/1992,18000,N,3000,41";
            PolicyData NewPolicyData = new PolicyData(myline);
            Policy     policy        = new PolicyC(NewPolicyData);

            Assert.Equal(0, policy.GetBonusValue());
        }
Exemple #19
0
        public void PolicyAPayout()
        {
            String     myline        = "A100003,01/06/1986,10000,Y,1000,40";
            PolicyData NewPolicyData = new PolicyData(myline);
            Policy     policy        = new PolicyA(NewPolicyData);

            Assert.Equal(14980m, policy.GetMaturityPayout());
        }
Exemple #20
0
        public void PolicyAUpliftOnly()
        {
            String     myline        = "A100003,01/06/1986,10000,Y,1000,40";
            PolicyData NewPolicyData = new PolicyData(myline);
            Policy     policy        = new PolicyA(NewPolicyData);

            Assert.Equal((decimal)1.4, (decimal)policy.GetPremiumUplift());
        }
Exemple #21
0
        public void PolicyAWithoutDescretionaryBonusTest()
        {
            String     myline        = "A100003,01/01/1990,10000,N,1000,45";
            PolicyData NewPolicyData = new PolicyData(myline);
            Policy     policy        = new PolicyA(NewPolicyData);

            Assert.Equal(0, policy.GetBonusValue());
        }
Exemple #22
0
        public void PolicyAWithDiscretionaryBonusOnly()
        {
            String     myline        = "A100003,20/07/1969,10000,Y,1000,45";
            PolicyData NewPolicyData = new PolicyData(myline);
            Policy     policy        = new PolicyA(NewPolicyData);

            Assert.Equal(1000m, policy.GetBonusValue());
        }
Exemple #23
0
        public void PolicyANetPremiumOnly()
        {
            String     myline        = "A100003,20/07/1969,10000,Y,4000,45";
            PolicyData NewPolicyData = new PolicyData(myline);
            Policy     policy        = new PolicyA(NewPolicyData);

            Assert.Equal(9700m, policy.GetNetPremium());
        }
Exemple #24
0
        public void PolicyBWithDescretionaryBonusTest()
        {
            String     myline        = "B100003,1/01/1995,12000,Y,2000,41";
            PolicyData NewPolicyData = new PolicyData(myline);
            Policy     policy        = new PolicyB(NewPolicyData);

            Assert.Equal(2000m, policy.GetBonusValue());
        }
Exemple #25
0
 public Policy(PolicyData obj)
 {
     Id             = obj.Id;
     OrganizationId = obj.OrganizationId;
     Type           = obj.Type;
     Data           = obj.Data;
     Enabled        = obj.Enabled;
 }
Exemple #26
0
        static void PolicyWork()
        {
            var c = new Conductor <BranchComparison>();

            //var c = new Conductor<RLOne>(db);
            Console.WriteLine($"Current records: {PolicyData.CountIterations()}");
            c.Run(8);
        }
Exemple #27
0
 public PolicyC(PolicyData PolicyDataline) : base(PolicyDataline)
 {
     PolicyNumber       = PolicyDataline.PolicyNumber;
     MemberShip         = PolicyDataline.MemberShip;
     StartDate          = PolicyDataline.StartDate;
     Premiums           = PolicyDataline.Premiums;
     DiscretionaryBonus = PolicyDataline.DiscretionaryBonus;
     PercentageUplift   = PolicyDataline.PercentageUplift;
 }
Exemple #28
0
        public PolicyData GetPolicyData()
        {
            EnsureCertificateData();
            PolicyData policyData = default;

            foreach (X509Extension extension in _certData.Extensions)
            {
                switch (extension.Oid !.Value)
                {
Exemple #29
0
        public void PolicyCPayoutWithoutDescretionaryBonusViaFactoryTest()
        {
            String        myline        = "C100003,1/01/1992,13000,N,1000,42";
            PolicyData    NewPolicyData = new PolicyData(myline);
            PolicyFactory factory       = new ConcretePolicyFactory();
            Policy        policy        = factory.GetPolicy(NewPolicyData.GetPolicyType(), NewPolicyData);

            Assert.Equal((decimal)17167.8, policy.GetMaturityPayout());
        }
Exemple #30
0
        public void PolicyBWithDescretionaryUpliftOnly()
        {
            String     myline        = "B100003,1/01/1970,18000,Y,2000,41";
            PolicyData NewPolicyData = new PolicyData(myline);
            Policy     policy        = new PolicyB(NewPolicyData);


            Assert.Equal((decimal)1.41, (decimal)policy.GetPremiumUplift());
        }