Example #1
0
        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");
        }
Example #2
0
        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");
        }
Example #3
0
        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);
        }
Example #4
0
        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");
        }