public void TestCommandLambdaRegister() { IDummy dummy = NSubstitute.Substitute.For <IDummy>(); Command command = new Command(); command.RegisterLambda(dummy, (d) => d.Method1()); command.Run("method1", new string[] { }); dummy.Received().Method1(); command.RegisterLambda <IDummy, int, int>(dummy, (instance, a1, a2) => instance.Method2(a1, a2)); command.Run("method2", new[] { "1", "2" }); dummy.Received().Method2(1, 2); command.RegisterLambda <IDummy, int, int, float>(dummy, (instance, a1, a2) => instance.Method3(a1, a2), (result) => { }); command.Run("method3", new[] { "3", "4" }); dummy.Received().Method3(3, 4); }