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); } }
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 } }
// 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); } } }
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()); }
[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(); } }
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()); }
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()); }
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()); }
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()); }
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()); }
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()); }
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()); }
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()); }
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()); }
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()); }
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()); }
public Policy(PolicyData obj) { Id = obj.Id; OrganizationId = obj.OrganizationId; Type = obj.Type; Data = obj.Data; Enabled = obj.Enabled; }
static void PolicyWork() { var c = new Conductor <BranchComparison>(); //var c = new Conductor<RLOne>(db); Console.WriteLine($"Current records: {PolicyData.CountIterations()}"); c.Run(8); }
public PolicyC(PolicyData PolicyDataline) : base(PolicyDataline) { PolicyNumber = PolicyDataline.PolicyNumber; MemberShip = PolicyDataline.MemberShip; StartDate = PolicyDataline.StartDate; Premiums = PolicyDataline.Premiums; DiscretionaryBonus = PolicyDataline.DiscretionaryBonus; PercentageUplift = PolicyDataline.PercentageUplift; }
public PolicyData GetPolicyData() { EnsureCertificateData(); PolicyData policyData = default; foreach (X509Extension extension in _certData.Extensions) { switch (extension.Oid !.Value) {
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()); }
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()); }