public static void Test1_basic_LL_tests() { LL <int> empty_int = null; foreach (var node in empty_int.chain("foo", 3).chain("bar", 4).LIFO()) { Console.WriteLine(node.name + " " + node.pay); // mainly to test chaining from null } // hmm thats neat :) // also single assignment. empty int is still null D.Assert(empty_int.LIFO().ToArray().SequenceEqual(new LL <int> [0])); D.Assert(empty_int.LIFO_shadowed().ToArray().SequenceEqual(new LL <int> [0])); AUX.AssertThrows <LL_Exception> (() => empty_int.findPay("any key -- the LL is empty ")); var zing = ((LL <string>)null). chain("v1", "val1"). chain("v2", "boioioioioiing"). chain("v1", "shadowed"); foreach (var node in zing.LIFO_shadowed()) { Console.WriteLine(node.name + " " + node.pay); } AUX.AssertThrows <LL_Exception> (() => zing.findNode("non present key")); Console.WriteLine("================= LL ok ============= "); }
public override void eval(Context c) { var values = referenced_Column.valuesT.NonEmptyCyclic(); var zipped = AUX.Zip(LHS_Column.boxes, values, (b, v) => new { box = b, val = v }); foreach (var anon_tpl in zipped) { out_Column.AddVal(anon_tpl.val, anon_tpl.box); } }