public void Apply_Eight() { var func = Curry.Apply <int, int, int, int, int, int, int, int, int>((a, b, c, d, e, f, g, h) => a + b + c + d + e + f + g + h); int value = -1; value = func(1)(0)(0)(0)(0)(0)(0)(0); Assert.AreEqual(1, value); value = func(1)(2)(0)(0)(0)(0)(0)(0); Assert.AreEqual(3, value); value = func(1)(2)(3)(0)(0)(0)(0)(0); Assert.AreEqual(6, value); value = func(1)(2)(3)(4)(0)(0)(0)(0); Assert.AreEqual(10, value); value = func(1)(2)(3)(4)(5)(0)(0)(0); Assert.AreEqual(15, value); value = func(1)(2)(3)(4)(5)(6)(0)(0); Assert.AreEqual(21, value); value = func(1)(2)(3)(4)(5)(6)(7)(0); Assert.AreEqual(28, value); value = func(1)(2)(3)(4)(5)(6)(7)(8); Assert.AreEqual(36, value); }
public void Apply_Two() { var func = Curry.Apply <int, int, int>((a, b) => a + b); int value = -1; value = func(1)(0); Assert.AreEqual(1, value); value = func(1)(2); Assert.AreEqual(3, value); }
public void Apply_Three() { var func = Curry.Apply <int, int, int, int>((a, b, c) => a + b + c); int value = -1; value = func(1)(0)(0); Assert.AreEqual(1, value); value = func(1)(2)(0); Assert.AreEqual(3, value); value = func(1)(2)(3); Assert.AreEqual(6, value); }
public void Apply_Four() { var func = Curry.Apply <int, int, int, int, int>((a, b, c, d) => a + b + c + d); int value = -1; value = func(1)(0)(0)(0); Assert.AreEqual(1, value); value = func(1)(2)(0)(0); Assert.AreEqual(3, value); value = func(1)(2)(3)(0); Assert.AreEqual(6, value); value = func(1)(2)(3)(4); Assert.AreEqual(10, value); }
public void Apply_Six() { var func = Curry.Apply <int, int, int, int, int, int, int>((a, b, c, d, e, f) => a + b + c + d + e + f); int value = -1; value = func(1)(0)(0)(0)(0)(0); Assert.AreEqual(1, value); value = func(1)(2)(0)(0)(0)(0); Assert.AreEqual(3, value); value = func(1)(2)(3)(0)(0)(0); Assert.AreEqual(6, value); value = func(1)(2)(3)(4)(0)(0); Assert.AreEqual(10, value); value = func(1)(2)(3)(4)(5)(0); Assert.AreEqual(15, value); value = func(1)(2)(3)(4)(5)(6); Assert.AreEqual(21, value); }