public void Should_instantiate_registered_type_with_factory_dependency() { var container = new MyAwesomeIocContainer(); var serviceInstance = new ServiceWithoutDependencies(); container.Register<IServiceWithoutDependencies>(c => serviceInstance); var implementation = container.Resolve<IServiceWithoutDependencies>(); implementation.Should().Be(serviceInstance); }
public void Should_auto_register() { var container = new MyAwesomeIocContainer(); container.RegisterAll<IServiceWithoutDependencies>(type => type.FullName.Contains("Service")); container.Resolve<IServiceWithoutDependencies>().Should().BeOfType<ServiceWithoutDependencies>(); container.Resolve<IServiceWithDependencies>().Should().BeOfType<ServiceWithDependencies>(); container.Resolve<IServiceWithMultipleDependencies>().Should().BeOfType<ServiceWithMultipleDependencies>(); }
public void Should_instantiate_registered_type_with_dependency() { var container = new MyAwesomeIocContainer(); container.Register<IServiceWithoutDependencies, ServiceWithoutDependencies>(); container.Register<IServiceWithDependencies, ServiceWithDependencies>(); var implementation = container.Resolve<IServiceWithDependencies>(); implementation.Should().NotBeNull(); implementation.Should().BeOfType<ServiceWithDependencies>(); implementation.SomeDependency.Should().NotBeNull(); implementation.SomeDependency.Should().BeOfType<ServiceWithoutDependencies>(); }
public void Should_intercept_method_call() { var container = new MyAwesomeIocContainer(); var testInterceptor = new TestInterceptor(); container.InterceptWith(testInterceptor); container.Register<IServiceWithoutDependencies, ServiceWithoutDependencies>(); var service = container.Resolve<IServiceWithoutDependencies>(); service.DoSomething("bla"); testInterceptor.HasIntercepted.Should().BeTrue(); }
public void Should_throw_when_resolving_unknown_type() { var container = new MyAwesomeIocContainer(); Action action = () => container.Resolve<IServiceWithoutDependencies>(); action.ShouldThrow<InvalidOperationException>(); }
public void Should_resolve_registered_instance() { var container = new MyAwesomeIocContainer(); var serviceInstance = new ServiceWithoutDependencies(); container.Register<IServiceWithoutDependencies>(serviceInstance); var implementation = container.Resolve<IServiceWithoutDependencies>(); implementation.Should().Be(serviceInstance); }