public void FindMethodWithRestrTest() { var mf = new MethodFinder(typeof(testclass2)); object[] param = new object[] { "Hello,world",0 }; MethodInfo m = mf.GetMethodByParamsAndReturnValueType(typeof(void), param); Assert.AreEqual(m.Name, "HandlerHybrid1"); param = new object[] { "test1", 0 }; m = mf.GetMethodByParamsAndReturnValueType(typeof(void), param); Assert.AreEqual(m.Name, "HandlerHybrid2"); param = new object[] { "test2", 0 }; m = mf.GetMethodByParamsAndReturnValueType(typeof(void), param); Assert.AreEqual(m.Name, "HandlerHybrid3"); param = new object[] { "test3", 0 }; m = mf.GetMethodByParamsAndReturnValueType(typeof(void), param); Assert.AreEqual(m.Name, "HandlerHybrid4"); param = new object[] { "test4", 0 }; m = mf.GetMethodByParamsAndReturnValueType(typeof(void), param); Assert.AreEqual(m.Name, "HandlerHybrid5"); mf = new MethodFinder(typeof(testclass3)); param = new object[] { "Hello,world", 0 }; m = mf.GetMethodByParamsAndReturnValueType(typeof(void), param); Assert.AreEqual(m.Name, "HandlerHybrid2"); param = new object[] { "test1", 0 }; m = mf.GetMethodByParamsAndReturnValueType(typeof(void), param); Assert.AreEqual(m.Name, "HandlerHybrid1"); }
public void FindMethodByTypes() { var mf = new MethodFinder(typeof(testclass4)); object[] param = new object[] { "Hello,world" }; MethodInfo m = mf.GetMethodByParamsAndReturnValueType(typeof(void), param); Assert.AreEqual(m.Name, "Handler2"); param = new object[] { 1 }; m = mf.GetMethodByParamsAndReturnValueType(typeof(void), param); Assert.AreEqual(m.Name, "Handler1"); param = new object[] { "test",0 }; m = mf.GetMethodByParamsAndReturnValueType(typeof(void), param); Assert.AreEqual(m.Name, "Handler3"); }
public void FindMethodWithoutRestrTest() { var mf = new MethodFinder(typeof(testclass1)); object[] param = new object[] { 1 }; MethodInfo m = mf.GetMethodByParamsAndReturnValueType(typeof(void), param); Assert.AreEqual(m.Name, "HandlerInt"); param = new object[] { "test" }; m = mf.GetMethodByParamsAndReturnValueType(typeof(void), param); Assert.AreEqual(m.Name, "HandlerString"); m = mf.GetMethodByParamsAndReturnValueType(typeof(int), param); Assert.AreEqual(m.Name, "RetIntHandler"); m = mf.GetMethodByParamsAndReturnValueType(typeof(string), param); Assert.AreEqual(m.Name, "RetStrHandler"); param = new object[] { "test", 1 }; m = mf.GetMethodByParamsAndReturnValueType(typeof(void), param); Assert.AreEqual(m.Name, "HandlerHybrid1"); param = new object[] { 1, "test" }; m = mf.GetMethodByParamsAndReturnValueType(typeof(void), param); Assert.AreEqual(m.Name, "HandlerHybrid2"); param = new object[] { }; m = mf.GetMethodByParamsAndReturnValueType(typeof(void), param); Assert.AreEqual(m.Name, "Do"); param = new object[] { }; m = mf.GetMethodByParamsAndReturnValueType(typeof(Dictionary<string,int>), param); Assert.IsNull(m); param = null; m = mf.GetMethodByParamsAndReturnValueType(typeof(void), param); Assert.AreEqual(m.Name, "Do"); param = new object[] { new Action(()=>{}) }; m = mf.GetMethodByParamsAndReturnValueType(typeof(void), param); Assert.IsNull(m); }
public void NoFindBaseActorMethod() { var mf = new MethodFinder(typeof(testclass5)); object[] param = new object[0]; MethodInfo m = mf.GetMethodByParamsAndReturnValueType(typeof(string), param); Assert.AreEqual(m.Name, "Handler"); }