public void FourParamFunctionIsComposableWithOneParam() { var testFunction = TypedLambdas.Lambda((int p1, int p2, int p3, int p4) => (p1 + p2) * (p3 + p4)); var expected = testFunction(1, 2, 3, 4); var partiallyComposedFunction1 = testFunction.Apply(1); var partiallyComposedFunction2 = partiallyComposedFunction1.Apply(2); var completelyComposedFunction = partiallyComposedFunction2.Apply(3); var actual = completelyComposedFunction(4); Assert.AreEqual(expected, actual); }
public void SixParamFunctionIsComposableWithFourParams() { var testFunction = TypedLambdas.Lambda((int p1, int p2, int p3, int p4, int p5, int p6) => (p1 + p2) * (p3 + p4) * (p5 + p6)); var expected = testFunction(1, 2, 3, 4, 5, 6); var partiallyComposedFunction = testFunction.Apply(1, 2, 3, 4); var completelyComposedFunction = partiallyComposedFunction.Apply(5); var actual = completelyComposedFunction(6); Assert.AreEqual(expected, actual); }