Ejemplo n.º 1
0
        [Test] public void TestNonStaticWithMultipleArgs()
        {
            object instance = new InstanceClz(222, 333);
            object wrapped  = wrapper.CreateWrapperFromInstance(instance);

            Assert.AreEqual("INSTANCE[222][333][123]", wrapped.GetType().GetMethod("GetStringNonStatic").Invoke(wrapped, new object[] { 123 }));
        }
Ejemplo n.º 2
0
        [Test] public void TestMergeMethodsInSingleType()
        {
            object instance = new InstanceClz(222);
            object wrapped  = wrapper.CreateWrapperFromType(typeof(StaticClz), new [] { new MethodToProxify(miStatic, null), new MethodToProxify(miInstance, instance) });

            Assert.AreEqual("INSTANCE[222][0][1]", wrapped.GetType().GetMethod("GetStringNonStatic").Invoke(wrapped, new object[] { 1 }));
            Assert.AreEqual("STATIC[2]", wrapped.GetType().GetMethod("GetStringStatic").Invoke(wrapped, new object[] { 2 }));
        }
Ejemplo n.º 3
0
        [Test] public void TestParamsMethodCalledWithOneArgs()
        {
            InstanceClz instance = new InstanceClz(1);
            object      wrapped  = wrapper.CreateWrapperFromType(typeof(InstanceClz), new [] { new MethodToProxify(typeof(InstanceClz).GetMethod("ParamsMethod"), instance) });
            MethodInfo  target   = wrapped.GetType().GetMethod("ParamsMethod", new[] { typeof(int) });
            string      ret      = (string)target.Invoke(wrapped, new object[] { 1 });

            Assert.AreEqual("ParamsMethod: 1", ret);
        }