public void foldl0() { string seed = "hi mom"; List <string> values = Helper <string> .mkList(); FastFunc <string, FastFunc <string, string> > fn = FuncConvert.ToFastFunc((Converter <string, string, string>) delegate(string a, string b) { throw new Exception("should never be invoked"); }); string result = Zumbro.foldl <string, string>(fn, seed, values); Assert.AreEqual(seed, result); }
public void foldl1() { int seed = 64; List <int> values = Helper <int> .mkList(4, 2, 4); FastFunc <int, FastFunc <int, int> > fn = FuncConvert.ToFastFunc((Converter <int, int, int>) delegate(int a, int b) { return(a / b); }); int result = Zumbro.foldl <int, int>(fn, seed, values); Assert.AreEqual(2, result); }
public void ucase() { List <string> vals = Helper <string> .mkList("arnold", "BOB", "crAIg"); List <string> exp = Helper <string> .mkList("ARNOLD", "BOB", "CRAIG"); List <string> res = Zumbro.ucase(vals); Assert.AreEqual(exp.Length, res.Length); Assert.AreEqual(exp.Head, res.Head); Assert.AreEqual(exp.Tail.Head, res.Tail.Head); Assert.AreEqual(exp.Tail.Tail.Head, res.Tail.Tail.Head); }
public void map() { FastFunc <int, int> fn = FuncConvert.ToFastFunc((Converter <int, int>) delegate(int a) { return(a * a); }); List <int> vals = Helper <int> .mkList(1, 2, 3); List <int> res = Zumbro.map <int, int>(fn, vals); Assert.AreEqual(res.Length, 3); Assert.AreEqual(1, res.Head); Assert.AreEqual(4, res.Tail.Head); Assert.AreEqual(9, res.Tail.Tail.Head); }