private Rule GetTestRule() { //test device Device device = new Device(Id.Create("dev1")) { SerialNumber = "G9CXXXXXB65E", Name = "Test Device" }; Rule rule = new Rule { Id = Id.Create("test"), Name = "test", Version = 11111, ActiveFrom = new DateTime(DateTime.Now.Year, DateTime.Now.Month - 1, DateTime.Now.Day), ActiveTo = new DateTime(DateTime.Now.Year, DateTime.Now.Month + 1, DateTime.Now.Day), BaseType = ExceptionRuleBaseType.Custom }; //create test conditions Condition condition = new Condition(Id.Create("cond1")) { Value = 60, ConditionType = ConditionType.SpeedLimit }; //Add children conditions to main condition IList <Condition> childConditions = new List <Condition>(); Condition conditionChild = new Condition(Id.Create("sub1"), ConditionType.IsValueMoreThan, null, 21, null, null, null, null, null, null); childConditions.Add(conditionChild); childConditions.Add(new Condition(Id.Create("sub2"), ConditionType.IsValueEqualTo, null, 50, device, null, null, null, null, null)); childConditions.Add(new Condition(Id.Create("sub3"), ConditionType.IsDriving, null, 1, null, null, null, null, null, null)); childConditions.Add(new Condition(Id.Create("sub4"), ConditionType.Speed, null, 40, device, null, null, null, null, null)); condition.AddChildren(childConditions, false); //Add children conditions of a child condition IList <Condition> childChildConditions = new List <Condition> { new Condition(Id.Create("subSub1"), ConditionType.And, null, null, device, null, null, null, null, null), new Condition(Id.Create("subSub2"), ConditionType.AnyData, null, 50, null, null, null, null, null, null) }; conditionChild.AddChildren(childChildConditions, false); rule.Condition = condition; return(rule); }