EvalAsListOfStrings() public method

public EvalAsListOfStrings ( string expression, int update ) : IList
expression string
update int
return IList
        public void WarewolfParse_Eval_Delete_Mid()
        {



            ExecutionEnvironment env = new ExecutionEnvironment();
            env.AssignWithFrame(new AssignValue("[[rec().a]]", "25"));
            env.AssignWithFrame(new AssignValue("[[rec().a]]", "26"));
            env.AssignWithFrame(new AssignValue("[[rec().a]]", "25"));
            env.AssignWithFrame(new AssignValue("[[rec().a]]", "28"));



            env.EvalDelete("[[rec(3)]]");
            var items = env.EvalAsListOfStrings("[[rec(*).a]]");


            Assert.AreEqual(items[0], "25");
            Assert.AreEqual(items[1], "26");
            Assert.AreEqual(items[2], "28");

        }
        public void WarewolfParse_Eval_Delete_WithNoIndexAndMultipleColumns_Multipleresults()
        {


            ExecutionEnvironment env = new ExecutionEnvironment();
            env.AssignWithFrame(new AssignValue("[[rec().a]]", "25"));
            env.AssignWithFrame(new AssignValue("[[rec().a]]", "26"));
            env.AssignWithFrame(new AssignValue("[[rec().a]]", "25"));
            env.AssignWithFrame(new AssignValue("[[rec().a]]", "28"));



            env.EvalDelete("[[rec(1)]]");
            var items = env.EvalAsListOfStrings("[[rec(*).a]]");


            Assert.AreEqual(items[0], "26");
            Assert.AreEqual(items[1], "25");
            Assert.AreEqual(items[2], "28");

        }
        public void WarewolfParse_Eval_Delete_Unordered_CheckForAttributes_Multiple_Delete_Star()
        {


            ExecutionEnvironment env = new ExecutionEnvironment();
            env.AssignWithFrame(new AssignValue("[[rec().a]]", "25"));
            env.AssignWithFrame(new AssignValue("[[rec().b]]", "26"));
            env.AssignWithFrame(new AssignValue("[[rec().b]]", "25"));
            env.AssignWithFrame(new AssignValue("[[rec().a]]", "28"));
            env.AssignWithFrame(new AssignValue("[[rec().b]]", "22"));
            env.AssignWithFrame(new AssignValue("[[rec().a]]", "24"));
            env.AssignWithFrame(new AssignValue("[[rec().b]]", "27"));
            env.AssignWithFrame(new AssignValue("[[rec().a]]", "1"));


            env.EvalDelete("[[rec(2)]]");

            env.AssignWithFrame(new AssignValue("[[rec(1).b]]", "xxx"));
            env.AssignWithFrame(new AssignValue("[[rec(1).a]]", "yyy"));
            env.AssignWithFrame(new AssignValue("[[rec(17).b]]", "uuu"));
            env.AssignWithFrame(new AssignValue("[[rec().a]]", "aaa"));
            env.AssignWithFrame(new AssignValue("[[rec(7).b]]", "444"));
            env.AssignWithFrame(new AssignValue("[[rec(7).a]]", "222"));
            env.EvalDelete("[[rec(7)]]");
            env.EvalDelete("[[rec(*)]]");
            var items = env.EvalAsListOfStrings("[[rec(*).a]]");
            Assert.AreEqual(items.Count, 0);






            PrivateObject p = new PrivateObject(env);
            var inner = p.GetField("_env") as DataASTMutable.WarewolfEnvironment;
            var recset = inner.RecordSets["rec"];
            Assert.AreEqual(recset.Optimisations, DataASTMutable.WarewolfAttribute.Fragmented);
            Assert.AreEqual(recset.LastIndex, 0);
            Assert.AreEqual(recset.Count, 0);
        }
        public void WarewolfParse_Eval_Delete_Unordered_CheckForAttributes_Mixed()
        {


            ExecutionEnvironment env = new ExecutionEnvironment();
            env.AssignWithFrame(new AssignValue("[[rec().a]]", "25"));
            env.AssignWithFrame(new AssignValue("[[rec().a]]", "26"));
            env.AssignWithFrame(new AssignValue("[[rec(5).a]]", "25"));
            env.AssignWithFrame(new AssignValue("[[rec(7).a]]", "28"));



            env.EvalDelete("[[rec(2)]]");
            var items = env.EvalAsListOfStrings("[[rec(*).a]]");


            Assert.AreEqual(items[0], "25");
            Assert.AreEqual(items[1], "25");
            Assert.AreEqual(items[2], "28");
            PrivateObject p = new PrivateObject(env);
            var inner = p.GetField("_env") as DataASTMutable.WarewolfEnvironment;
            var recset = inner.RecordSets["rec"];
            Assert.AreEqual(recset.Optimisations, DataASTMutable.WarewolfAttribute.Sorted);
            Assert.AreEqual(recset.LastIndex, 7);
        }
示例#5
0
        public void WarewolfParse_Eval_Delete_Star_WithUpdate_ShouldDeleteUpdateIndex()
        {
            ExecutionEnvironment env = new ExecutionEnvironment();
            env.AssignWithFrame(new AssignValue("[[rec().a]]", "25"), 0);
            env.AssignWithFrame(new AssignValue("[[rec().a]]", "28"), 0);
            env.AssignWithFrame(new AssignValue("[[rec().a]]", "24"), 0);
            env.AssignWithFrame(new AssignValue("[[rec().a]]", "1"), 0);

            env.EvalDelete("[[rec(*)]]", 2);

            var items = env.EvalAsListOfStrings("[[rec(*).a]]", 0);
            Assert.AreEqual(items[0], "25");
            Assert.AreEqual(items[1], "24");
            Assert.AreEqual(items[2], "1");

            PrivateObject p = new PrivateObject(env);
            var inner = p.GetField("_env") as DataASTMutable.WarewolfEnvironment;
            var recset = inner.RecordSets["rec"];
            Assert.AreEqual(recset.LastIndex, 4);
            Assert.AreEqual(recset.Count, 3);
        }