private static void TestProxy() { RemoteCallerImpl remoteCaller = new RemoteCallerImpl(); var testImpl = new TestImpl(); RealObject po = new RealObject(remoteCaller, testImpl); testImpl.PropertyChanged += (s, e) => { Console.Write("Test"); }; testImpl.OnPropertyChanged(); Proxify proxify = new Proxify(); ITest test = proxify.CreateProxy(typeof(ITest), Guid.NewGuid(), remoteCaller) as ITest; test.PropertyChanged += (s, e) => { Console.Write("Test"); }; ITest test2 = proxify.CreateProxy(typeof(ITest), Guid.NewGuid(), remoteCaller) as ITest; string bp = test.BaseProp; test.PropertyChanged += test_PropertyChanged; int v = test.Test(); string bp2 = test.BaseProp; bool eq = test.Equals(test2); }
public void InterfaceMethodInheritedFromObject() { ITestDerived itd = new TestImpl(); dynamic d = itd; dynamic res = itd.Equals(d); Assert.True(res); }
public void InheritedInterfaceIndexer() { ITestDerived itd = new TestImpl(); dynamic d = 3; dynamic res = itd[d]; Assert.Equal(6, res); }
public void InheritedInterfaceMethod() { ITestDerived itd = new TestImpl(); dynamic d = 3; dynamic res = itd.Add(d); Assert.Equal(5, res); }
public void GetParameterReturnsAnInstanceMatchingTheTypeRequested() { var testImpl = new TestImpl(); var injector = new MethodParameterInjector(new object[] { "string", 5 }); injector.AddInstance<ITestInterface>(testImpl); Assert.That(injector.GetParameter<ITestInterface>(), Is.SameAs(testImpl)); }
public void CanSupplyASpecificInstanceForPredefinedParameterTypes() { var testImpl = new TestImpl(); var injector = new MethodParameterInjector(new object[] { "string", 5 }, new[] { new KeyValuePair<Type, object>(typeof(ITestInterface), testImpl) }); injector.GetParameters(_method3, new object[] { this }); Assert.That(injector.GetParameters(_method3, new object[] { this })[1], Is.SameAs(testImpl)); }
public void TestMethod() { TypeCatalog catalog = new TypeCatalog(typeof(TestLogger), typeof(TestImpl)); CompositionContainer container = new CompositionContainer(catalog); TestImpl service = container.GetExport <TestImpl>().Value; TestLogger.Clear(); service.TargetMethod(); Assert.AreEqual("OnEntry" + Environment.NewLine, TestLogger.GetLog()); }
public void AbstractCall01() { var c = new TestImpl(); using (var l = new Lua()) { var g = l.CreateEnvironment(); TestResult(g.DoChunk("return cast(LuaDLR.Test.LuaTypeTests.ITestIntf, a):Foo()", "test.lua", new KeyValuePair <string, object>("a", c)), 42); } }
public void TestInterfaceUsingDirectKey() { var target = new MessageMediator(); var tc = new TestImpl(); target.Register(tc); bool hadTarget = target.SendMessage("test", new DataEvent("Test")); Assert.AreEqual(true, hadTarget, "Mediator did not find target"); Assert.AreEqual(2, tc.Count); }
public void TestInterfaceUsingConcreteClass() { var target = new MessageMediator(); var tc = new TestImpl(); target.Register(tc); bool hadTarget = target.SendMessage(new DataEvent("Test")); Assert.AreEqual(true, hadTarget, "Mediator did not find target"); // Should invoke two methods - interface AND direct Assert.AreEqual(5, tc.Count); }
public void AbstractCall02() { var c = new TestImpl(); using (var l = new Lua()) { var g = l.CreateEnvironment(); TestResult(g.DoChunk( Lines ( "local a = clr.LuaDLR.Test.LuaTypeTests.TestImpl();", "return cast(LuaDLR.Test.LuaTypeTests.ITestIntf, a):Foo()" ), "test.lua"), 42); try { g.DoChunk( Lines ( "local a = clr.LuaDLR.Test.LuaTypeTests.TestAbstract();", "return cast(LuaDLR.Test.LuaTypeTests.ITestIntf, a):Foo()" ), "test.lua"); Assert.Fail(); } catch (LuaRuntimeException) { } catch (Exception) { Assert.Fail(); } try { g.DoChunk( Lines ( "local a = clr.LuaDLR.Test.LuaTypeTests.ITestIntf();", "return cast(LuaDLR.Test.LuaTypeTests.ITestIntf, a):Foo()" ), "test.lua"); Assert.Fail(); } catch (LuaRuntimeException) { } catch (Exception) { Assert.Fail(); } } }
public void TestInterface() { var target = new MessageMediator(); var tc = new TestImpl(); target.Register(tc); // Should invoke two methods - interface AND direct bool hadTarget = target.SendMessage <IDataEvent>(new DataEvent("Test")); Assert.IsTrue(hadTarget, "Mediator did not find target"); Assert.AreEqual(5, tc.Count); target.Unregister(tc); Assert.IsFalse(target.SendMessage <IDataEvent>(new DataEvent("Test"))); }
public void SpecificInstancesCanBeInjectedAfterConstruction() { var testImpl = new TestImpl(); var injector = new MethodParameterInjector(new object[] { "string", 5 }); injector.AddInstance<ITestInterface>(testImpl); injector.GetParameters(_method3, new object[] { this }); Assert.That(injector.GetParameters(_method3, new object[] { this })[1], Is.SameAs(testImpl)); }