public void UseWith_Passes_Context_To_Its_Functions() { var context = new Context(); Assert.AreEqual(context.A(1), 2); Assert.AreEqual(context.B(1), 3); Assert.AreEqual(context.D(1, 1), 5); Assert.AreEqual(context.D(2, 3), 8); }
public void Pipe_Passes_Context_To_Functions() { var context = new Context { X = 4, Y = 2, Z = 1 }; context.A = R.Pipe((Func <int, int>)context.InvokeX, (Func <int, int>)context.InvokeY, (Func <int, int>)context.InvokeZ); Assert.AreEqual(context.A(5), 40); }