Пример #1
0
        public void DependencyResolutionSucceeds()
        {
            DependencyMap injector = new DependencyMap();

            injector.Register <ITestInterface, TestClass>();
            injector.Register(typeof(AnotherClass));
            object actualClass  = injector.Resolve(typeof(ITestInterface));
            object anotherClass = injector.Resolve(typeof(AnotherClass));

            AssertResolution(actualClass, typeof(TestClass));
            AssertResolution(anotherClass, typeof(AnotherClass));

            actualClass  = injector.Resolve <ITestInterface>();
            anotherClass = injector.Resolve <AnotherClass>();
            AssertResolution(actualClass, typeof(TestClass));
            AssertResolution(anotherClass, typeof(AnotherClass));
        }
Пример #2
0
        public void InnerDependenciesSucceeds()
        {
            DependencyMap injector = new DependencyMap();

            injector.Register <IInterface, AnotherClass>();
            var actualClass = (AnotherClass)injector.Resolve(typeof(IInterface));

            AssertResolution(actualClass, typeof(AnotherClass));
            Assert.True(actualClass.Blah == null);

            injector.Register <ITestInterface, TestClass>();
            actualClass = (AnotherClass)injector.Resolve(typeof(IInterface));
            Assert.True(
                actualClass.Blah.GetType() == typeof(TestClass),
                $"Expected {typeof(TestClass).Name}\nWas {actualClass.Blah.GetType().Name}"
                );
        }
Пример #3
0
        public void MultipleRegistersStillProducesCorrectResult()
        {
            DependencyMap injector = new DependencyMap();

            injector.Register <ITestInterface, TestClass>();
            injector.Register <ITestInterface, TestClass>();
            object actualClass = injector.Resolve <ITestInterface>();

            AssertResolution(actualClass, typeof(TestClass));
        }