public void RepeaterHideRuleReferenceRootControl() { ITruthCondition condition = new HideTruthCondition { RuleType = "HIDE" }; TruthConditionList subRuleList = new TruthConditionList(); CompareDefinition compareDefinition = new CompareDefinition { CompareTo = ComparisonType.Value, Field = "Checkbox", FieldScope = FieldScope.Unknown, Operator = Operator.Equals, Value = "checked" }; subRuleList.Add(new CompareTruthCondition { RuleType = "EVAL", Value = compareDefinition }); condition.Value = subRuleList; ControlList controlList = new ControlList { new CheckboxControl { Name = "Checkbox" } }; RepeaterControl repeater = new RepeaterControl { Name = "Parent" }; repeater.AddChild(new ComboControl { Name = "Child", VisibilityRule = condition }); controlList.Add(repeater); ApplicationData applicationData = new ApplicationData { { "Checkbox", "checked" } }; Dictionary<string, object>[] repeaterValue = new Dictionary<string, object>[1]; repeaterValue[0] = new Dictionary<string, object>(); repeaterValue[0]["Child"] = string.Empty; applicationData.Add("Parent", repeaterValue); ITruthConditionEvaluator<ITruthCondition> evaluator = this.EvaluatorRegister.GetEvaluatorFor<HideTruthCondition>(); bool result = evaluator.Evaluate(condition, controlList, applicationData, null, this.EvaluatorRegister, "Parent[0]"); Assert.IsTrue(result); applicationData["Checkbox"] = string.Empty; result = evaluator.Evaluate(condition, controlList, applicationData, null, this.EvaluatorRegister, "Parent[0]"); Assert.IsFalse(result); }
public void SerializeCompareValueString() { IfTruthCondition rootCondition = new IfTruthCondition(); TruthConditionList conditionList = new TruthConditionList(); CompareTruthCondition compareCondition = new CompareTruthCondition(); conditionList.Add(compareCondition); rootCondition.Value = conditionList; CompareDefinition compareDefinition = new CompareDefinition(); compareCondition.Value = compareDefinition; compareDefinition.Value = "test"; string serialized = JsonConvert.SerializeObject(rootCondition); Assert.IsTrue(serialized.Contains("\"Value\":\"test\"")); }
public void SerializeCompareValueArray() { IfTruthCondition rootCondition = new IfTruthCondition(); TruthConditionList conditionList = new TruthConditionList(); CompareTruthCondition compareCondition = new CompareTruthCondition(); conditionList.Add(compareCondition); rootCondition.Value = conditionList; CompareDefinition compareDefinition = new CompareDefinition(); compareCondition.Value = compareDefinition; compareDefinition.Value = new[] { "test1", "test2" }; string serialized = JsonConvert.SerializeObject(rootCondition); Assert.IsTrue(serialized.Contains("\"Value\":[\"test1\",\"test2\"]")); }
public void TestInitialize() { ControlList list = new ControlList { new TextControl { Id = 1, Name = "textbox1" }, new TextControl { Id = 2, Name = "textbox2" } }; TruthConditionList hideRuleValue = new TruthConditionList { new CompareTruthCondition { Value = new CompareDefinition { CompareTo = ComparisonType.Value, Field = "textbox1", Operator = Operator.Equals, Value = string.Empty } } }; list[1].VisibilityRule = new HideTruthCondition { Value = hideRuleValue }; TruthConditionList pageValidators = new TruthConditionList(); TruthConditionList pageValidatorValue = new TruthConditionList { new CompareTruthCondition { Value = new CompareDefinition { CompareTo = ComparisonType.Value, Field = "textbox2", Operator = Operator.Equals, Value = string.Empty } } }; pageValidators.Add(new ValidateTruthCondition { Error = new ValidationError { Message = "test", Position = "2" }, Value = pageValidatorValue }); this.validator = new ApplicationValidator(list, pageRules: pageValidators, validatorList: this.validatorList); }