Exemplo n.º 1
0
        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();
        }
Exemplo n.º 3
0
        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");
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
 public void ParamsWithCustomType1(Impl1 p1)
 {
     Assert.IsNotNull(p1);
 }
Exemplo n.º 6
0
        public void JustSeeIfEverythingGetsCreated()
        {
            Impl1 impl1 = _obj as Impl1;

            Expect(impl1.m1(21), EqualTo(42));
        }
Exemplo n.º 7
0
		public void ParamsWithCustomType1(Impl1 p1)
		{
			Assert.IsNotNull(p1);
		}