public void RegisterType_Multiple_Resolve_InstanceIsInStore() { // Assign DefaultDependencyContainer container = new DefaultDependencyContainer(this.store); // Act container.RegisteType(typeof(IMainClass), typeof(MainClass)); container.RegisteType(typeof(IMainClass), typeof(MainClass2)); container.RegisteType(typeof(IMainClass), typeof(MainClass3)); container.RegisteType(typeof(ISubClass1), typeof(SubClass1)); container.RegisteType(typeof(ISubClass2), typeof(SubClass2)); Assert.AreEqual(0, this.store.Count); container.ResolveAll(typeof(IMainClass)); // Assert Assert.AreEqual(5, container.Registrations.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()); }