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); }
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); }