public void ParseTest8()
        {
            var target = new ConditionComponent(new Soba());

            Assert.Equal(" body1 ", target.Eval("[(!false){ body1 }else{ body2 }]"));
            Assert.Equal(Value.Empty, target.Eval("[(!true){ body1 }]"));
        }
        private void Re_OnPropertyChange(ConditionComponent re)
        {
            TreeNode tn = GetReverseLookup(re);

            UpdateNodeIcon(tn);
            tn.Text = re.ToString();
        }
Beispiel #3
0
    protected void GetFilterByKind(ref ConditionComponent paraWhere, string inDataBase = "")
    {
        if (paraWhere != null)
        {
            string dataFilterByKind = inDataBase == ""?" BelongFactory = '" + LoginUser.BelongFactory + "'":" 1=1 ";
            if (LoginUser.Kind == "B")
            {
                dataFilterByKind += " and sellerid =" + LoginUser.AssocNo;
            }
            else if (LoginUser.Kind == "C")
            {
                dataFilterByKind += " and HospitalID =" + LoginUser.AssocNo;
            }
            else if (LoginUser.Kind == "D" && inDataBase == "")
            {
                dataFilterByKind += " and DoctorID =" + LoginUser.AssocNo;
            }
            else if (LoginUser.Kind == "D" && inDataBase != "")
            {
                dataFilterByKind += " and doctor = (select top 1 doctor from doctor where id = " + LoginUser.AssocNo + ")";
            }

            if (dataFilterByKind != "")
            {
                if (paraWhere.sbComponent.Length == 0)
                {
                    paraWhere.sbComponent.Append(dataFilterByKind);
                }
                else
                {
                    paraWhere.sbComponent.Append(" and " + dataFilterByKind);
                }
            }
        }
    }
Beispiel #4
0
        /// <summary>
        /// 修改实体信息
        /// 该实体是根据主键修改
        /// </summary>
        /// <param name="entity">泛型实例</param>
        ///  <param name="component">泛型实例</param>
        /// <returns></returns>
        public int Update(IEntity entity, ConditionComponent component)
        {
            IDataParameter[] param = null;
            string           sql   = Factory.CreateUpdateSql(entity, out param, component);

            return(int.Parse(BaseHelper.ExecuteNonQuery(sql, param as OracleParameter[]).ToString()));
        }
        private void UpdateNodeIcon(TreeNode tn)
        {
            ConditionComponent re = (ConditionComponent)tn.Tag;

            if (re is ConditionSingle)
            {
                tn.ImageKey         = "function";
                tn.SelectedImageKey = "function";
            }
            if (re is ConditionGroup)
            {
                switch (((ConditionGroup)re).Grouping)
                {
                case ConditionGroup.CndGroupingEnum.And:
                    tn.ImageKey         = "group_and";
                    tn.SelectedImageKey = "group_and";
                    break;

                case ConditionGroup.CndGroupingEnum.Or:
                    tn.ImageKey         = "group_or";
                    tn.SelectedImageKey = "group_or";
                    break;

                case ConditionGroup.CndGroupingEnum.Xor:
                    tn.ImageKey         = "group_xor";
                    tn.SelectedImageKey = "group_xor";
                    break;

                case ConditionGroup.CndGroupingEnum.Not:
                    tn.ImageKey         = "group_not";
                    tn.SelectedImageKey = "group_not";
                    break;
                }
            }
        }
        private void btnAddCondition_Click(object sender, EventArgs e)
        {
            ConditionSingle re = new ConditionSingle();
            TreeNode        tn = new TreeNode();

            AttachConditionComponentToNode(tn, re);
            TreeNode           tx = trvNodes.SelectedNode;
            ConditionComponent rx = (ConditionComponent)tx.Tag;

            if (rx is ConditionSingle)
            {
                tx        = GetReverseLookup(rx.Parent);
                re.Parent = rx.Parent;
            }
            if (rx is ConditionGroup)
            {
                tx        = GetReverseLookup(rx);
                re.Parent = (ConditionGroup)rx;
            }
            re.Parent.Children.Add(re);
            tx.Nodes.Add(tn);
            RecolorStartingFromNode(tx, tx.Checked);
            TreeSort();
            trvNodes.SelectedNode = tn;
            if (tx.IsExpanded == false)
            {
                tx.Expand();
            }
            expLeft.Focus();
        }
        public void parseTest13()
        {
            var mockEnv  = new Mock <IEnvironment>();
            var mockUVar = new Mock <IUserVariable>();
            ConditionComponent target = new ConditionComponent(mockEnv.Object, mockUVar.Object);

            Assert.AreEqual(" body2 ", target.parse("[(!str1 === str1){ body1 }else{ body2 }]"));
            Assert.AreEqual(" body1 ", target.parse("[(!\"str1 \"===\" str1\"){ body1 }else{ body2 }]"));
            Assert.AreEqual(" body2 ", target.parse("[(! str1 == str1){ body1 }else{ body2 }]"));
            Assert.AreEqual(" body1 ", target.parse("[(! \"str1 \"==\" str1\"){ body1 }else{ body2 }]"));
            Assert.AreEqual(" body2 ", target.parse("[(!02 == 2){ body1 }else{ body2 }]"));
            Assert.AreEqual(" body1 ", target.parse("[(!02 === 2){ body1 }else{ body2 }]"));

            Assert.AreEqual(" body1 ", target.parse("[(!str1 !== str1){ body1 }else{ body2 }]"));
            Assert.AreEqual(" body2 ", target.parse("[(!\"str1 \"!==\" str1\"){ body1 }else{ body2 }]"));
            Assert.AreEqual(" body1 ", target.parse("[(! str1 != str1){ body1 }else{ body2 }]"));
            Assert.AreEqual(" body2 ", target.parse("[(!\"str1 \"!=\" str1\"){ body1 }else{ body2 }]"));
            Assert.AreEqual(" body1 ", target.parse("[(!02 != 2){ body1 }else{ body2 }]"));
            Assert.AreEqual(" body2 ", target.parse("[(! 02 !== 2){ body1 }else{ body2 }]"));

            Assert.AreEqual(" body2 ", target.parse("[(!Test123Data ~= 12){ body1 }else{ body2 }]"));
            Assert.AreEqual(" body1 ", target.parse("[(! Test123Data ~= \" 12\"){ body1 }else{ body2 }]"));
            Assert.AreEqual(" body2 ", target.parse("[(! Test 123 Data ~= \" 12\"){ body1 }else{ body2 }]"));
            Assert.AreEqual(" body2 ", target.parse("[(!Test 123 Data ~= Data){ body1 }else{ body2 }]"));

            Assert.AreEqual(" body1 ", target.parse("[(!1 > 1){ body1 }else{ body2 }]"));
            Assert.AreEqual(" body2 ", target.parse("[(!1 >= 1){ body1 }else{ body2 }]"));
            Assert.AreEqual(" body1 ", target.parse("[(! 1 > 01){ body1 }else{ body2 }]"));
            Assert.AreEqual(" body2 ", target.parse("[(!01 >= 1){ body1 }else{ body2 }]"));
            Assert.AreEqual(" body1 ", target.parse("[(! 1 < 1){ body1 }else{ body2 }]"));
            Assert.AreEqual(" body2 ", target.parse("[(! 1 <= 1){ body1 }else{ body2 }]"));
            Assert.AreEqual(" body1 ", target.parse("[(!1 < 01){ body1 }else{ body2 }]"));
            Assert.AreEqual(" body2 ", target.parse("[(! 01 <= 1){ body1 }else{ body2 }]"));
        }
Beispiel #8
0
        /// <summary>
        /// 删除实体对象
        /// 该方法是根据实体对象主键删除数据
        /// </summary>
        /// <param name="entity">实体公共接口</param>
        /// <returns></returns>
        //public int Delete(IEntity entity)
        //{
        //    IDataParameter[] param = null;
        //    string sql = Factory.CreateDeleteSql(entity,out param);
        //    using (IDbProvider provider = new SqlProvider())
        //    {
        //        return BaseHelper.ExecuteNonQuery( sql, param);
        //    }
        //}

        /// <summary>
        /// 根据实体多个属性删除数据



        /// 实体中必须包含该属性



        /// 传递参数数组不能为空



        /// </summary>
        /// <param name="component">实体属性公共接口</param>
        /// <param name="bolType">实体属性名称数组</param>
        /// <returns></returns>
        public int Delete <T>(ConditionComponent component, bool bolType) where T : IEntity
        {
            IDataParameter[] param = null;
            string           sql   = Factory.CreateDeleteSql(typeof(T), component, out param, bolType);

            return(BaseHelper.ExecuteNonQuery(sql, param));
        }
        public void ParseTest13()
        {
            var target = new ConditionComponent(new Soba());

            Assert.Equal(" body2 ", target.Eval("[(!str1 === str1){ body1 }else{ body2 }]"));
            Assert.Equal(" body1 ", target.Eval("[(!\"str1 \"===\" str1\"){ body1 }else{ body2 }]"));
            Assert.Equal(" body2 ", target.Eval("[(! str1 == str1){ body1 }else{ body2 }]"));
            Assert.Equal(" body1 ", target.Eval("[(! \"str1 \"==\" str1\"){ body1 }else{ body2 }]"));
            Assert.Equal(" body2 ", target.Eval("[(!02 == 2){ body1 }else{ body2 }]"));
            Assert.Equal(" body1 ", target.Eval("[(!02 === 2){ body1 }else{ body2 }]"));

            Assert.Equal(" body1 ", target.Eval("[(!str1 !== str1){ body1 }else{ body2 }]"));
            Assert.Equal(" body2 ", target.Eval("[(!\"str1 \"!==\" str1\"){ body1 }else{ body2 }]"));
            Assert.Equal(" body1 ", target.Eval("[(! str1 != str1){ body1 }else{ body2 }]"));
            Assert.Equal(" body2 ", target.Eval("[(!\"str1 \"!=\" str1\"){ body1 }else{ body2 }]"));
            Assert.Equal(" body1 ", target.Eval("[(!02 != 2){ body1 }else{ body2 }]"));
            Assert.Equal(" body2 ", target.Eval("[(! 02 !== 2){ body1 }else{ body2 }]"));

            Assert.Equal(" body2 ", target.Eval("[(!Test123Data ~= 12){ body1 }else{ body2 }]"));
            Assert.Equal(" body1 ", target.Eval("[(! Test123Data ~= \" 12\"){ body1 }else{ body2 }]"));
            Assert.Equal(" body2 ", target.Eval("[(! Test 123 Data ~= \" 12\"){ body1 }else{ body2 }]"));
            Assert.Equal(" body2 ", target.Eval("[(!Test 123 Data ~= Data){ body1 }else{ body2 }]"));

            Assert.Equal(" body1 ", target.Eval("[(!1 > 1){ body1 }else{ body2 }]"));
            Assert.Equal(" body2 ", target.Eval("[(!1 >= 1){ body1 }else{ body2 }]"));
            Assert.Equal(" body1 ", target.Eval("[(! 1 > 01){ body1 }else{ body2 }]"));
            Assert.Equal(" body2 ", target.Eval("[(!01 >= 1){ body1 }else{ body2 }]"));
            Assert.Equal(" body1 ", target.Eval("[(! 1 < 1){ body1 }else{ body2 }]"));
            Assert.Equal(" body2 ", target.Eval("[(! 1 <= 1){ body1 }else{ body2 }]"));
            Assert.Equal(" body1 ", target.Eval("[(!1 < 01){ body1 }else{ body2 }]"));
            Assert.Equal(" body2 ", target.Eval("[(! 01 <= 1){ body1 }else{ body2 }]"));
        }
Beispiel #10
0
        /// <summary>
        /// 根据某个表名查询实体集合(分页)
        /// </summary>
        /// <typeparam name="T">泛型类型</typeparam>
        /// <param name="strTableName">属性名称</param>
        /// <param name="fieldShow">属性名称</param>
        /// <param name="pageSize">属性名称</param>
        /// <param name="currentPageIndex">属性名称</param>
        /// <param name="intCountPage">属性值</param>
        /// <param name="component">属性值</param>
        /// <returns></returns>
        public IList <T> GetList <T>(string strTableName, string fieldShow, int pageSize,
                                     int currentPageIndex, int intCountPage, ConditionComponent component) where T : class
        {
            IDataParameter[] param = null;

            StringBuilder sbSQL = new StringBuilder();

            sbSQL.Append(" select  ");
            sbSQL.Append(fieldShow);     //此功能暂未实现


            sbSQL.Append(" from ");
            sbSQL.Append(strTableName);

            if (component != null && component.sbComponent.Length > 0)
            {
                sbSQL.Append(" where ");

                sbSQL.Append(component.sbComponent.ToString());
            }

            intRowCount_ = int.Parse(BaseHelper.ExecuteScalar(sbSQL.ToString().Replace(fieldShow, "count(*)")).ToString());
            intPageNum_  = pageSize;
            //string strSql = Factory.CreatePageSql(typeof(T),pageSize, currentPageIndex, intCountPage, sbSQL.ToString());
            string strSql = Factory.CreatePageSql(typeof(T), pageSize, currentPageIndex, intCountPage, sbSQL.ToString());

            // return BaseHelper.Query(strSql);

            return(BaseHelper.ConvertToList <T>(BaseHelper.ExecuteDataReader(strSql, param as OracleParameter[])));
        }
Beispiel #11
0
        /// <summary>
        /// 根据多个属性查询实体集合


        /// 该查询方式附加查询组建


        /// </summary>
        /// <typeparam name="T">类型类</typeparam>
        /// <param name="dic">属性键值对</param>
        /// <param name="component">查询组件</param>
        /// <returns></returns>
        public IList <T> GetListTop <T>(IDictionary <string, object> dic, ConditionComponent component) where T : class
        {
            IDataParameter[] param = null;
            string           sql   = Factory.CreateQueryByPropertySql(typeof(T), dic, out param, component);

            return(BaseHelper.ConvertToList <T>(BaseHelper.ExecuteDataReader(sql, param as OracleParameter[])));
        }
        public void parseTest5()
        {
            var mockEnv  = new Mock <IEnvironment>();
            var mockUVar = new Mock <IUserVariable>();
            ConditionComponent target = new ConditionComponent(mockEnv.Object, mockUVar.Object);

            target.parse("[ (!) { body1 } ]");
        }
        public void DisclosureTest3()
        {
            var target = new ConditionComponent(new Soba());

            Assert.Throws <IncorrectSyntaxException>(() =>
                                                     target.Eval("[( 1 < 2 && () || (((2 >= 2) && true)) ){yes}else{no}]")
                                                     );
        }
        public void ParseTest3()
        {
            var target = new ConditionComponent(new Soba());

            Assert.Throws <IncorrectSyntaxException>(() =>
                                                     target.Eval("[ (!) { body1 } ]")
                                                     );
        }
        public void ParseTest17()
        {
            var target = new ConditionComponent(new Soba());

            Assert.Throws <System.FormatException>(() =>
                                                   target.Eval("[(2 > 1test ){ body1 }else{ body2 }]")
                                                   );
        }
Beispiel #16
0
        /// <summary>
        /// 根据某个实体属性查询实体集合



        /// </summary>
        /// <typeparam name="T">泛型类型</typeparam>
        /// <param name="iTop">属性名称</param>
        /// <param name="strTableName">属性名称</param>
        /// <param name="component">属性值</param>
        /// <returns></returns>
        public IList <T> GetListTop <T>(int iTop, ConditionComponent component) where T : class
        {
            IDataParameter[] param    = null;
            string           strWhere = ((component == null || component.sbComponent == null) ? "" : component.sbComponent.ToString());
            string           sql      = Factory.CreateQuerySql(typeof(T), "*", strWhere, iTop);

            strOrderString = "";
            return(BaseHelper.ConvertToList <T>(BaseHelper.ExecuteDataReader(sql, param)));
        }
        public void compositeTest6()
        {
            ConditionComponent target = new ConditionComponent((new Mock <IEnvironment>()).Object, (new Mock <IUserVariable>()).Object);

            Assert.AreEqual("no", target.parse("[( (1 < 2 && 2 == 2 &&(((false || 2 >= 2) && (1 && (false) && true)))) ){yes}else{no}]"));
            Assert.AreEqual("no", target.parse("[( (1 < 2 && 2 == 2 &&(((false || 2 >= 2) && (1 > 7 && true)))) ){yes}else{no}]"));
            Assert.AreEqual("yes", target.parse("[( (1 < 2 && 2 == 2 ||(((2 >= 2) && true))) ){yes}else{no}]"));
            Assert.AreEqual("yes", target.parse("[( (1 < 2 && 2 == 2 || (((2 >= 2) && true))) ){yes}else{no}]"));
        }
        public void parseTest4()
        {
            var mockEnv  = new Mock <IEnvironment>();
            var mockUVar = new Mock <IUserVariable>();
            ConditionComponent target = new ConditionComponent(mockEnv.Object, mockUVar.Object);

            Assert.AreEqual(Value.Empty, target.parse("[ (true * 1) { body1 } ]"));
            Assert.AreEqual(" body1 ", target.parse("[ (!true * 1) { body1 } ]"));
        }
        public void ParseTest11()
        {
            var target = new ConditionComponent(new Soba());

            Assert.Equal(" body1 ", target.Eval("[(Test123Data ~= 12){ body1 }else{ body2 }]"));
            Assert.Equal(" body2 ", target.Eval("[(Test123Data ~= \" 12\"){ body1 }else{ body2 }]"));
            Assert.Equal(" body1 ", target.Eval("[(Test 123 Data ~= \" 12\"){ body1 }else{ body2 }]"));
            Assert.Equal(" body1 ", target.Eval("[(Test 123 Data ~= Data){ body1 }else{ body2 }]"));
        }
        public void CompositeTest5()
        {
            var target = new ConditionComponent(new Soba());

            Assert.Equal("no", target.Eval("[( (1 < 2 && 2 == 2 &&(((false || 2 >= 2) && (1 && (false) && true)))) ){yes}else{no}]"));
            Assert.Equal("no", target.Eval("[( (1 < 2 && 2 == 2 &&(((false || 2 >= 2) && (1 > 7 && true)))) ){yes}else{no}]"));
            Assert.Equal("yes", target.Eval("[( (1 < 2 && 2 == 2 ||(((2 >= 2) && true))) ){yes}else{no}]"));
            Assert.Equal("yes", target.Eval("[( (1 < 2 && 2 == 2 || (((2 >= 2) && true))) ){yes}else{no}]"));
        }
Beispiel #21
0
        public override void Awake()
        {
            base.Awake();

            enemyController = mDMono.transform.GetComponent <EnemyController>();
//            _fsm = enemyController.GetComponent<PlayMakerFSM>();
            _network = enemyController.GetComponent <NetworkOwnershipComponent>();
            enemyController.TargetingComponent = enemyController.GetComponent <CharacterTargetingComponent>();
            _conditionComponent = enemyController.GetComponent <ConditionComponent>();
        }
Beispiel #22
0
    void Awake()
    {
        if (_stateHandlers == null)
        {
            _stateHandlers = new Dictionary <eCampaignCharacterState, System.Type>();

            //ToDo:���÷��䵼��������ù�ϵ���ײ鿴
            //Assembly assembly = Assembly.GetAssembly(typeof(CharacterStateHandler));
            //foreach (System.Type t in assembly.GetTypes())
            //{
            //	if (!t.IsAbstract && t.IsSubclassOf(typeof(CharacterStateHandler)))
            //	{
            //		CharacterStateHandlerAttribute attr = (CharacterStateHandlerAttribute)t.GetCustomAttributes(typeof(CharacterStateHandlerAttribute), false)[0];
            //		_stateHandlers.Add(attr.handledState, t);
            //	}
            //}

            var type = typeof(AttackTargetStateHandler);
            _stateHandlers.Add(((CharacterStateHandlerAttribute)type.GetCustomAttributes(typeof(CharacterStateHandlerAttribute), false)[0]).handledState, type);
            type = typeof(ChaseTargetStateHandler);
            _stateHandlers.Add(((CharacterStateHandlerAttribute)type.GetCustomAttributes(typeof(CharacterStateHandlerAttribute), false)[0]).handledState, type);
            type = typeof(IdleStateHandler);
            _stateHandlers.Add(((CharacterStateHandlerAttribute)type.GetCustomAttributes(typeof(CharacterStateHandlerAttribute), false)[0]).handledState, type);
            type = typeof(InteractStateHandler);
            _stateHandlers.Add(((CharacterStateHandlerAttribute)type.GetCustomAttributes(typeof(CharacterStateHandlerAttribute), false)[0]).handledState, type);
            type = typeof(MoveStateHandler);
            _stateHandlers.Add(((CharacterStateHandlerAttribute)type.GetCustomAttributes(typeof(CharacterStateHandlerAttribute), false)[0]).handledState, type);
        }

        _animator = GetComponentInChildren <Animator>();

        _controller = GetComponent <Controller>();
        if (_controller is EnemyController)
        {
            ((EnemyController)_controller).onDestroy += OnEnemyKilled;
        }

        _combatController = GetComponent <CombatController>();
        _viewRPC          = FindReplicationViewForComponent <CharacterComponent>();

        //_effectReceiver = new EffectReceiver(gameObject);

        _conditionComponent = GetComponent <ConditionComponent>();
        _targetingComponent = GetComponent <CharacterTargetingComponent>();
        //_animationController = GetComponent<AnimationController>();

        _moveController = GetComponent <CampaignMoveController>();

        _locomotionComponent = (ILocomotionComponent)GetComponent(typeof(ILocomotionComponent));
        if (_locomotionComponent != null)
        {
            _locomotionComponent.Initialize();
        }
        //_network = GetComponent<NetworkOwnershipComponent>();
    }
        public void parseTest11()
        {
            var mockEnv  = new Mock <IEnvironment>();
            var mockUVar = new Mock <IUserVariable>();
            ConditionComponent target = new ConditionComponent(mockEnv.Object, mockUVar.Object);

            Assert.AreEqual(" body1 ", target.parse("[(Test123Data ~= 12){ body1 }else{ body2 }]"));
            Assert.AreEqual(" body2 ", target.parse("[(Test123Data ~= \" 12\"){ body1 }else{ body2 }]"));
            Assert.AreEqual(" body1 ", target.parse("[(Test 123 Data ~= \" 12\"){ body1 }else{ body2 }]"));
            Assert.AreEqual(" body1 ", target.parse("[(Test 123 Data ~= Data){ body1 }else{ body2 }]"));
        }
        public void invertTest1()
        {
            ConditionComponent target = new ConditionComponent((new Mock <IEnvironment>()).Object, (new Mock <IUserVariable>()).Object);

            Assert.AreEqual("no", target.parse("[( (!2 == 2) && 1 < 2 ){yes}else{no}]"));
            Assert.AreEqual("no", target.parse("[( (!2 == 2) && (!1 < 2) ){yes}else{no}]"));
            Assert.AreEqual("no", target.parse("[( (!2 == 2) && (!1 > 2) ){yes}else{no}]"));
            Assert.AreEqual("yes", target.parse("[(! (!2 == 2) && (!1 > 2) ){yes}else{no}]"));
            Assert.AreEqual("no", target.parse("[( (!2 == 2) && (!1 < 2) || (!true) ){yes}else{no}]"));
            Assert.AreEqual("yes", target.parse("[( (!2 == 2) && (!1 < 2) || (true) ){yes}else{no}]"));
        }
        public void compositeTest1()
        {
            IUserVariable uv = new UserVariable();

            uv.set("test", null, "(data");

            ConditionComponent target = new ConditionComponent((new Mock <IEnvironment>()).Object, uv);

            Assert.AreEqual("no", target.parse("[( #[var test] ~= \"(data && 1 < 2\" ){yes}else{no}]"));
            Assert.AreEqual("yes", target.parse("[( #[var test] ~= \"(data\" && 1 < 2 ){yes}else{no}]"));
        }
        public void ParseTest10()
        {
            var target = new ConditionComponent(new Soba());

            Assert.Equal(" body2 ", target.Eval("[(str1 !== str1){ body1 }else{ body2 }]"));
            Assert.Equal(" body1 ", target.Eval("[(\"str1 \"!==\" str1\"){ body1 }else{ body2 }]"));
            Assert.Equal(" body2 ", target.Eval("[(str1 != str1){ body1 }else{ body2 }]"));
            Assert.Equal(" body1 ", target.Eval("[(\"str1 \"!=\" str1\"){ body1 }else{ body2 }]"));
            Assert.Equal(" body2 ", target.Eval("[(02 != 2){ body1 }else{ body2 }]"));
            Assert.Equal(" body1 ", target.Eval("[(02 !== 2){ body1 }else{ body2 }]"));
        }
        public void InvertTest1()
        {
            var target = new ConditionComponent(new Soba());

            Assert.Equal("no", target.Eval("[( (!2 == 2) && 1 < 2 ){yes}else{no}]"));
            Assert.Equal("no", target.Eval("[( (!2 == 2) && (!1 < 2) ){yes}else{no}]"));
            Assert.Equal("no", target.Eval("[( (!2 == 2) && (!1 > 2) ){yes}else{no}]"));
            Assert.Equal("yes", target.Eval("[(! (!2 == 2) && (!1 > 2) ){yes}else{no}]"));
            Assert.Equal("no", target.Eval("[( (!2 == 2) && (!1 < 2) || (!true) ){yes}else{no}]"));
            Assert.Equal("yes", target.Eval("[( (!2 == 2) && (!1 < 2) || (true) ){yes}else{no}]"));
        }
 private void RemoveReverseLookup(ConditionComponent cc)
 {
     if (ReverseNodeLookup.ContainsKey(cc) == true)
     {
         ReverseNodeLookup.Remove(cc);
         //System.Diagnostics.Debug.WriteLine("CV: ConditionComponent " + cc.Id + " unregistered");
     }
     else
     {
         //System.Diagnostics.Debug.WriteLine("CV: ConditionComponent " + cc.Id + " not registered");
     }
 }
 private void AttachConditionComponentToNode(TreeNode tn, ConditionComponent re)
 {
     tn.Tag     = re;
     tn.Text    = re.ToString();
     tn.Checked = re.Enabled;
     if (re != null)
     {
         SetReverseLookup(re, tn);
     }
     re.OnPropertyChange += Re_OnPropertyChange;
     UpdateNodeIcon(tn);
 }
 private TreeNode GetReverseLookup(ConditionComponent cc)
 {
     if (ReverseNodeLookup.ContainsKey(cc) == true)
     {
         return(ReverseNodeLookup[cc]);
     }
     else
     {
         //System.Diagnostics.Debug.WriteLine("CV: ConditionComponent " + cc.Id + " not found");
     }
     return(null);
 }