public void run()
 {
     var container = new DefaultDependencyContainer(new DefaultDependencyFactoryRegistry(startup_facilities.factories));
     Container.container_resolver = () => container;
     startup_facilities.register<LoggerFactory, TextWriterLoggerFactory>();
     startup_facilities.register<TextWriter, OurTextWriter>();
     startup_facilities.register<DependencyContainer>(container);
 }
        public void RegisterType_InstanceNotInStore()
        {
            // Assign
            DefaultDependencyContainer container = new DefaultDependencyContainer(this.store);

            // Act
            container.RegisteType(typeof(IMainClass), typeof(MainClass));

            // Assert
            Assert.AreEqual(0, this.store.Count);
        }
Example #3
0
        public void RegisterType_InstanceNotInStore()
        {
            // Assign
            DefaultDependencyContainer container = new DefaultDependencyContainer(this.store);

            // Act
            container.RegisteType(typeof(IMainClass), typeof(MainClass));

            // Assert
            Assert.AreEqual(0, this.store.Count);
        }
        public void RegisterInstance_InstanceIsInStore()
        {
            // Assign
            DefaultDependencyContainer container = new DefaultDependencyContainer(this.store);
            MainClass instance = new MainClass();

            // Act
            container.RegisterInstance(typeof(IMainClass), instance);

            // Assert
            Assert.AreEqual(1, this.store.Count);
        }
Example #5
0
        public void RegisterInstance_InstanceIsInStore()
        {
            // Assign
            DefaultDependencyContainer container = new DefaultDependencyContainer(this.store);
            MainClass instance = new MainClass();

            // Act
            container.RegisterInstance(typeof(IMainClass), instance);

            // Assert
            Assert.AreEqual(1, this.store.Count);
        }
Example #6
0
        public void Resolve_ConcreteClass_ReturnsInstance()
        {
            // Assign
            DefaultDependencyContainer container = new DefaultDependencyContainer();

            container.RegisteType(typeof(ISubClass1), typeof(SubClass1));
            container.RegisteType(typeof(IMainClass), typeof(MainClass));
            container.RegisteType(typeof(ISubClass2), typeof(SubClass2));

            // Act
            var result = container.Resolve(typeof(MainClass));

            // Assert
            Assert.IsNotNull(result);
        }
        public void RegisterType_Resolve_InstanceIsInStore()
        {
            // Assign
            DefaultDependencyContainer container = new DefaultDependencyContainer(this.store);

            // Act
            container.RegisteType(typeof(IMainClass), typeof(MainClass));
            container.RegisteType(typeof(ISubClass1), typeof(SubClass1));
            container.RegisteType(typeof(ISubClass2), typeof(SubClass2));

            Assert.AreEqual(0, this.store.Count);
            container.Resolve(typeof(IMainClass));

            // Assert
            Assert.AreEqual(3, this.store.Count);
        }
Example #8
0
        public void RegisterType_Resolve_InstanceIsInStore()
        {
            // Assign
            DefaultDependencyContainer container = new DefaultDependencyContainer(this.store);

            // Act
            container.RegisteType(typeof(IMainClass), typeof(MainClass));
            container.RegisteType(typeof(ISubClass1), typeof(SubClass1));
            container.RegisteType(typeof(ISubClass2), typeof(SubClass2));

            Assert.AreEqual(0, this.store.Count);
            container.Resolve(typeof(IMainClass));

            // Assert
            Assert.AreEqual(3, this.store.Count);
        }
Example #9
0
        public void ResolveAll_ReturnsInstance()
        {
            // Assign
            DefaultDependencyContainer container = new DefaultDependencyContainer();

            container.RegisteType(typeof(ISubClass1), typeof(SubClass1));
            container.RegisteType(typeof(IMainClass), typeof(MainClass));
            container.RegisteType(typeof(IMainClass), typeof(MainClass2));
            container.RegisteType(typeof(IMainClass), typeof(MainClass3));
            container.RegisteType(typeof(ISubClass2), typeof(SubClass2));

            // Act
            var result = container.ResolveAll(typeof(IMainClass));

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(3, result.Count());
        }
        public void ResolveAll_ReturnsInstance()
        {
            // Assign
            DefaultDependencyContainer container = new DefaultDependencyContainer();
            container.RegisteType(typeof(ISubClass1), typeof(SubClass1));
            container.RegisteType(typeof(IMainClass), typeof(MainClass));
            container.RegisteType(typeof(IMainClass), typeof(MainClass2));
            container.RegisteType(typeof(IMainClass), typeof(MainClass3));
            container.RegisteType(typeof(ISubClass2), typeof(SubClass2));

            // Act
            var result = container.ResolveAll(typeof(IMainClass));

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(3, result.Count());
        }
        public void Resolve_ConcreteClass_ReturnsInstance()
        {
            // Assign
            DefaultDependencyContainer container = new DefaultDependencyContainer();
            container.RegisteType(typeof(ISubClass1), typeof(SubClass1));
            container.RegisteType(typeof(IMainClass), typeof(MainClass));
            container.RegisteType(typeof(ISubClass2), typeof(SubClass2));

            // Act
            var result = container.Resolve(typeof(MainClass));

            // Assert
            Assert.IsNotNull(result);
        }