public void StructureMapResolver_Create_should_delegate_to_GetInstance() { var container = MockRepository.GenerateMock<IContainer>(); var resolver = new StructureMapResolver(container); var controllerType = typeof (ContactsController); resolver.Create(new HttpRequestMessage(), new HttpControllerDescriptor(), controllerType); container.AssertWasCalled(x => x.GetInstance(controllerType)); }
public void StructureMapResolver_should_return_an_empty_collection_if_type_isnt_found() { var config = new HttpConfiguration(); var resolver = new StructureMapResolver(new Container()); config.DependencyResolver = resolver; var repositories = config.DependencyResolver.GetServices(typeof(IContactRepository)); repositories.Count().ShouldEqual(0); }
public void StructureMapResolver_should_return_both_instaces_of_IContactRepository() { var container = new Container(x => x.Scan(s => { s.TheCallingAssembly(); s.AddAllTypesOf<IContactRepository>().NameBy(t => t.Name); })); var config = new HttpConfiguration(); var resolver = new StructureMapResolver(container); config.DependencyResolver = resolver; var repositories = config.DependencyResolver.GetServices(typeof(IContactRepository)); repositories.Count().ShouldEqual(2); }
public void StructureMapResolver_should_be_returned_for_IHttpControllerActivator_WithDefaultConventions() { // When building up a SM container, this is the only thing that doesn't get // resolved "nicely" when using default conventions. var container = new Container(x => x.Scan(s => { s.TheCallingAssembly(); s.WithDefaultConventions(); })); var config = new HttpConfiguration(); var resolver = new StructureMapResolver(container); config.DependencyResolver = resolver; var actualActivator = config.Services.GetService(typeof (IHttpControllerActivator)); actualActivator.ShouldBeSameAs(resolver); }