Exemple #1
0
        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");
        }
Exemple #2
0
        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
        }
Exemple #3
0
        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");
        }
Exemple #4
0
        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");
        }
Exemple #5
0
 public SomeTypeTest9_B(ISomeTypeTest9 someType)
 {
 }