public void DoesResolveFromFactory() { Container container = new Container(); ISomeTypeTest9Factory factory = new SomeTypeTest9Factory(); container.Bind <ISomeTypeTest9>().To <SomeTypeTest9>().FromFactory <ISomeTypeTest9Factory, ISomeTypeTest9>().AsTransient(); container.Bind <ISomeTypeTest9Factory>(factory).To <SomeTypeTest9Factory>().AsSingleton(); ISomeTypeTest9 someTypeTest9 = container.Resolve <ISomeTypeTest9>(); Assert.AreEqual(1, factory.NumCreated, "did not resolve using factory"); }
public void DoesResolveFromFactoryAsSingleton() { Container container = new Container(); ISomeTypeTest9Factory factory = new SomeTypeTest9Factory(); container.Bind <ISomeTypeTest9>().To <SomeTypeTest9>().FromFactory <ISomeTypeTest9Factory, ISomeTypeTest9>().AsSingleton(); container.Bind <ISomeTypeTest9Factory>(factory).To <SomeTypeTest9Factory>().AsSingleton(); ISomeTypeTest9 someTypeTest9 = container.Resolve <ISomeTypeTest9>(); ISomeTypeTest9 someTypeTest9_B = container.Resolve <ISomeTypeTest9>(); Assert.AreEqual(1, factory.NumCreated, "did not resolve once"); // must not be 2 }
public void DoesResolveFromFactoryMethod() { Container container = new Container(); int numResolved = 0; container.Bind <ISomeTypeTest9>().To <SomeTypeTest9>().FromFactoryMethod(delegate(IInjectContext injectContext) { numResolved++; return(new SomeTypeTest9()); }).AsTransient(); ISomeTypeTest9 someTypeTest9 = container.Resolve <ISomeTypeTest9>(); ISomeTypeTest9 someTypeTest9_B = container.Resolve <ISomeTypeTest9>(); Assert.AreEqual(2, numResolved, "did not resolve twice"); }
public void DoesResolveFromFactoryMethodAsSingleton() { Container container = new Container(); int numResolved = 0; container.Bind <ISomeTypeTest9>().To <SomeTypeTest9>().FromFactoryMethod(delegate(IInjectContext injectContext) { numResolved++; return(new SomeTypeTest9()); }).AsSingleton(); ISomeTypeTest9 someTypeTest9 = container.Resolve <ISomeTypeTest9>(); ISomeTypeTest9 someTypeTest9_B = container.Resolve <ISomeTypeTest9>(); Assert.AreEqual(1, numResolved, "did not resolve once"); Assert.AreEqual(someTypeTest9, someTypeTest9_B, "instances are not equal"); }
public SomeTypeTest9_B(ISomeTypeTest9 someType) { }