public void Should_be_able_to_bind_interfaces() { var binder = new InterfaceModelBinder(); var locator = new DefaultModelBinderLocator(new IModelBinder[] { binder }, this.defaultBinder); var locatedBinder = locator.GetBinderForType(typeof(Concrete), A <NancyContext> .Ignored); var result = locatedBinder.Bind(null, typeof(Concrete)) as IAmAnInterface; result.ShouldNotBeNull(); }
public void Should_be_able_to_bind_interfaces() { var binder = new InterfaceModelBinder(); var locator = new DefaultModelBinderLocator(new IModelBinder[] { binder }, this.defaultBinder); var locatedBinder = locator.GetBinderForType(typeof(Concrete), A<NancyContext>.Ignored); var result = locatedBinder.Bind(null, typeof(Concrete)) as IAmAnInterface; result.ShouldNotBeNull(); }
public void Should_be_able_to_bind_interfaces_using_module_extensions() { var binder = new InterfaceModelBinder(); var locator = new DefaultModelBinderLocator(new IModelBinder[] { binder }, this.defaultBinder); var module = new TestBindingModule(); module.Context = new NancyContext() { Request = new FakeRequest("GET", "/") }; module.ModelBinderLocator = locator; var result = module.TestBindInterface(); var result2 = module.TestBindConcrete(); result.ShouldNotBeNull(); result2.ShouldNotBeNull(); }