public void resolve_circular_dependency_with_property_injection() { var container = new InstancesContainer(); CircularDependency1 instance = null; Assert.DoesNotThrow(() => instance = container.Get<CircularDependency1>()); Assert.NotNull(instance); Assert.NotNull(instance.CircularDependency2); Assert.NotNull(instance.CircularDependency2.CircularDependency1); }
public void throw_exception_when_registered_manual_two_times_test() { var container = new InstancesContainer(); container.RegisterSingleton<RegisterManualTwoTimesClass>(); Assert.Throws<DependencyInjectionException>(() => container.RegisterSingleton<RegisterManualTwoTimesClass>()); }
public void throw_exception_when_resolving_unregister_class_by_key_test() { var container = new InstancesContainer(); Assert.Throws<NotRegisteredTypeException>(() => container.Get(typeof(NotRegisteredClass).AssemblyQualifiedName)); }
public void throw_exception_when_registered_by_attribute_and_manual_test() { var container = new InstancesContainer(); Assert.Throws<DependencyInjectionException>(() => container.RegisterSingleton<RegisteredByAttributeAndManualClass>()); }
public void throw_exception_when_registered_by_attribute_as_singleton_and_transient_test() { var container = new InstancesContainer(); Assert.Throws<DependencyInjectionException>(() => container.Get<RegisterByAttributeAsSingletonAndTransientClass>()); }
public void throw_exception_when_inject_in_ctor_not_registered_class_test() { var container = new InstancesContainer(); Assert.Throws<NotRegisteredTypeException>(() => container.Get<InjectInCtorNotRegisteredClass>()); }
public void throw_exception_when_get_instance_of_wire_all_properties_with_not_registered_all_properties_test() { var container = new InstancesContainer(); Assert.Throws<NotRegisteredTypeException>(() => container.Get<WireAllPropertiesSingletonWithNotRegisteredProperties>()); }
public void throw_circular_dependency_when_ctor_injecting_exception() { var container = new InstancesContainer(); Assert.Throws<CircularDependencyException>(() => container.Get<CircularCtorDependency1>()); }
public void throws_exception_when_instancing_non_registered_class_test() { var container = new InstancesContainer(); Assert.Throws<NotRegisteredTypeException>(() => container.Get<NotRegisteredClass>()); }
public InstanceFactory(InstancesContainer container) { this.container = container; creationStack = new Stack<Type>(); lazyProperties = new List<LazyProperty>(); }