public void Should_be_able_to_load_modules() { var buildManager = new Mock <IBuildManager>(); buildManager.SetupGet(bm => bm.ConcreteTypes).Returns(new[] { typeof(DummyModule) }); var bindingName = new Mock <IBindingNamedWithOrOnSyntax>(); var bindingWhen = new Mock <IBindingWhenInNamedWithOrOnSyntax>(); bindingWhen.Setup(b => b.InTransientScope()).Returns(bindingName.Object); bindingWhen.Setup(b => b.InSingletonScope()).Returns(bindingName.Object); var func = (Func <IContext, object>)Delegate.CreateDelegate(typeof(Func <IContext, object>), typeof(RequestScopeExtensionMethod).GetMethod("GetScope", BindingFlags.NonPublic | BindingFlags.Static)); bindingWhen.Setup(b => b.InScope(func)).Returns(bindingName.Object).Verifiable(); var bindingTo = new Mock <IBindingToSyntax>(); bindingTo.Setup(b => b.To(It.IsAny <Type>())).Returns(bindingWhen.Object); bindingTo.Setup(b => b.ToConstant(It.IsAny <object>())).Returns(bindingWhen.Object); var kernel = new Mock <IKernel>(); kernel.Setup(k => k.Bind(It.IsAny <Type>())).Returns(bindingTo.Object); kernel.Setup(k => k.Load(It.IsAny <IEnumerable <IModule> >())).Verifiable(); var bootstrapper = new NinjectBootstrapperTestDouble(kernel.Object, buildManager.Object, new Mock <IBootstrapperTasksRegistry>().Object, new Mock <IPerRequestTasksRegistry>().Object); Assert.IsType <NinjectAdapter>(bootstrapper.Adapter); kernel.Verify(); }
public void Should_be_able_to_load_modules() { var buildManager = new Mock<IBuildManager>(); buildManager.SetupGet(bm => bm.ConcreteTypes).Returns(new[] { typeof(DummyModule) }); var bindingName = new Mock<IBindingNamedWithOrOnSyntax>(); var bindingWhen = new Mock<IBindingWhenInNamedWithOrOnSyntax>(); bindingWhen.Setup(b => b.InTransientScope()).Returns(bindingName.Object); bindingWhen.Setup(b => b.InSingletonScope()).Returns(bindingName.Object); var func = (Func<IContext, object>)Delegate.CreateDelegate(typeof(Func<IContext, object>), typeof(RequestScopeExtensionMethod).GetMethod("GetScope", BindingFlags.NonPublic | BindingFlags.Static)); bindingWhen.Setup(b => b.InScope(func)).Returns(bindingName.Object).Verifiable(); var bindingTo = new Mock<IBindingToSyntax>(); bindingTo.Setup(b => b.To(It.IsAny<Type>())).Returns(bindingWhen.Object); bindingTo.Setup(b => b.ToConstant(It.IsAny<object>())).Returns(bindingWhen.Object); var kernel = new Mock<IKernel>(); kernel.Setup(k => k.Bind(It.IsAny<Type>())).Returns(bindingTo.Object); kernel.Setup(k => k.Load(It.IsAny<IEnumerable<IModule>>())).Verifiable(); var bootstrapper = new NinjectBootstrapperTestDouble(kernel.Object, buildManager.Object, new Mock<IBootstrapperTasksRegistry>().Object, new Mock<IPerRequestTasksRegistry>().Object); Assert.IsType<NinjectAdapter>(bootstrapper.Adapter); kernel.Verify(); }