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 disclosureTest1()
        {
            IUserVariable uv = new UserVariable();
            uv.set("test", null, "(data");
            uv.set("test2", null, "data)");
            uv.set("test3", null, "true");

            ConditionComponent target = new ConditionComponent((new Mock<IEnvironment>()).Object, uv);
            Assert.AreEqual("yes", target.parse("[( #[var test] ~= \"(data\"){yes}else{no}]"));
            Assert.AreEqual("no", target.parse("[( #[var test2] ~= \"(data\"){yes}else{no}]"));
            Assert.AreEqual("yes", target.parse("[( (#[var test3]) ){yes}else{no}]"));
            Assert.AreEqual("yes", target.parse("[( 1 < 2 && 2 == 2 || (((2 >= 2) && true)) ){yes}else{no}]"));
        }
        public void disclosureTest4()
        {
            IUserVariable uv = new UserVariable();
            uv.set("test", null, "data(str)");
            uv.set("test2", null, "true");
            uv.set("test3", null, "4");

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

            Assert.AreEqual("yes", target.parse("[(  $(test) == \"data(str)\" ){yes}else{no}]"));
            Assert.AreEqual("yes", target.parse("[(  $(test) == \"data(str)\" && 1 < 2){yes}else{no}]"));
            Assert.AreEqual("yes", target.parse("[(  #[var test] == \"data(str)\" && #[var test2] || #[var test3] == 4){yes}else{no}]"));
            Assert.AreEqual("yes", target.parse("[(  #[var test] == \"data(str)\" && !#[var test2] || #[var test3] == 4){yes}else{no}]"));
            Assert.AreEqual("no", target.parse("[(  #[var test] == \"data(str)\" && !#[var test2] && #[var test3] == 4){yes}else{no}]"));
        }
        public void compositeTest7()
        {
            IUserVariable uv = new UserVariable();
            uv.set("test", null, "data1 && data|2");
            uv.set("test2", null, "data1 || data&2");

            ConditionComponent target = new ConditionComponent((new Mock<IEnvironment>()).Object, uv);
            Assert.AreEqual("yes", target.parse("[( #[var test] == \"data1 && data|2\" ){yes}else{no}]"));
            Assert.AreEqual("yes", target.parse("[( #[var test2] == \"data1 || data&2\" ){yes}else{no}]"));
        }