public void TestRunner() { RCRunner_m_j rc = new RCRunner_m_j("Test", new SckDailer("127.0.0.1", 13424).Dail); rc.addH("c_arg", cmd=> { return cmd.data; }); rc.addF("c_arg", (RCM_Cmd cmd, out bool next) => { next = true; return cmd.data; }); rc.Start(); rc.Login("abc"); try { var args = Util.NewDict(); args["val"] = "abc"; var data_s = rc.vexec_s("args_s", args); Assert.AreEqual("abc", data_s); // args = Util.NewDict(); args["a"] = 1; args["b"] = "xyz"; var data_m = rc.vexec_m("args_m", args); Console.WriteLine(data_m); Assert.AreEqual(1, data_m.Val("a", 0)); Assert.AreEqual("xyz", data_m.Val("b", "")); // args = Util.NewDict(); args["name"] = "c_arg"; var c_arg= Util.NewDict(); c_arg["a1"] = 1; c_arg["a2"] = "xx"; args["args"] = c_arg; var data_c = rc.vexec_m("call_c", args); Assert.AreEqual(1, data_c.Val("a1", 0)); Assert.AreEqual("xx", data_c.Val("a2", "")); args["name"] = "xx"; data_c = rc.vexec_m("call_c", args); Assert.AreEqual(true, data_c.Val("err", "").Length > 0); // rc.MsgC.writev(Util.dict("a", "1")); } catch(Exception e) { throw e; } finally { rc.Stop(); } }
public Wrapper(RCRunner_m_j runner, CmdListener msg, r.EvnListener evn) : base(msg, evn) { this.Runner = runner; }