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); }
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); }
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); }
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()); }