public void InitClojureFnMappingsWorks() { //SanityCheck.PrintMethods(_obj.GetType()); Impl1 impl1 = _obj as Impl1; Expect(impl1.m1(21), EqualTo(100)); MethodInfo m1Method = _proxyType.GetMethod("m1", new Type[] { typeof(int) }); Expect(m1Method, Not.Null); Expect(m1Method.Invoke(_obj, new object[] { 21 }), EqualTo(100)); I1 i1 = _obj as I1; Expect(i1, Not.Null); Expect(i1.m1(42), EqualTo(100)); Expect(i1.m2("help"), EqualTo(200)); // just hoping the next one doesn't blow up // We set a flag to test Fn2V._called = false; i1.m2v("abcd"); Expect(Fn2V._called); Expect(i1.m2s("job"), EqualTo("nice job")); I2 i2 = _obj as I2; Expect(i2, Not.Null); Expect(i2.m1(25), EqualTo(100)); Expect(i2.m3(60), EqualTo(300)); Expect(i2.m3("test"), EqualTo(300)); Expect(i2.m4("junk"), EqualTo(400)); }
static void TemplateMethod() { Abstract impl1 = new Impl1(); Impl2 impl2 = new Impl2(); impl1.StartOperations(); Console.WriteLine(); impl2.StartOperations(); Console.WriteLine(); Console.WriteLine("Возврат в меню завезем в следующей обнове :)"); Console.ReadKey(); }
public void TestCreateInjectedInstance() { var container = new DiContainer(); var impl1 = new Impl1(); var impl2 = new Impl2(); container.Bind <IInterface>().ToInstance(impl1); container.Bind <IInterface2>().ToInstance(impl2); var injectable = container.CreateInjectedInstance <InjectableType>(); Assert.AreEqual(impl1, injectable.Field1, "Field1 should contain a reference to Impl1 due to field injection"); Assert.AreEqual(impl2, injectable.Param1, "Field1 should contain a reference to Impl1 due to constructor injection"); }
public void TestBindAcyclicGraph() { var container = new DiContainer(); var frodoInstance = new Impl2("Frodo"); var samInstance = new Impl2("Sam"); var impl1 = new Impl1(); container.Bind <IInterface1>().ToInstance(impl1); container.Bind <Impl1>().ToInstance(impl1); container.Bind <IInterface2>().WithId("Frodo").ToInstance(frodoInstance); container.Bind <IInterface2>().WithId("Sam").ToInstance(samInstance); container.TryResolveAll(); var fetchedImpl1 = container.Get <Impl1>(); Assert.AreEqual(frodoInstance, fetchedImpl1.Impl2Frodo); Assert.AreEqual(samInstance, fetchedImpl1.Impl2Sam); }
public void ParamsWithCustomType1(Impl1 p1) { Assert.IsNotNull(p1); }
public void JustSeeIfEverythingGetsCreated() { Impl1 impl1 = _obj as Impl1; Expect(impl1.m1(21), EqualTo(42)); }