Пример #1
0
 public ReplaceTypeParamCallsExpressionKind(ReplaceTypeParamCallsExpression expr,
                                            Concretion currentParamTypes,
                                            GetConcreteIdentifierFunc getConcreteIdentifier) : base(expr)
 {
     GetConcreteIdentifier = getConcreteIdentifier;
     CurrentParamTypes     = currentParamTypes;
 }
Пример #2
0
        public void ConstructSomethingNotByDefault()
        {
            var concretion = new Concretion();

            var container = new Container(r => { r.For <Abstraction>().Add(c => concretion); });

            container.GetAllInstances <Abstraction>().First().ShouldBeTheSameAs(concretion);
        }
        public void ConstructSomethingNotByDefault()
        {
            var concretion = new Concretion();

            var container = new Container(r => { r.For<Abstraction>().Add(c => concretion); });

            container.GetAllInstances<Abstraction>().First().ShouldBeTheSameAs(concretion);
        }
        public void ConstructSomething()
        {
            var concretion = new Concretion();

            IContainer container =
                new Container(
                    registry => registry.For<Abstraction>().Use(() => concretion));
            container.GetInstance<Abstraction>().ShouldBeTheSameAs(concretion);
        }
        public void ConstructSomething()
        {
            var concretion = new Concretion();

            IContainer container =
                new Container(
                    registry => registry.ForRequestedType<Abstraction>().TheDefault.Is.ConstructedBy(() => concretion));
            container.GetInstance<Abstraction>().ShouldBeTheSameAs(concretion);
        }
        public void ConstructSomething()
        {
            var concretion = new Concretion();

            IContainer container =
                new Container(
                    registry => registry.ForRequestedType <Abstraction>().TheDefault.Is.ConstructedBy(() => concretion));

            container.GetInstance <Abstraction>().ShouldBeTheSameAs(concretion);
        }
Пример #7
0
        public void ConstructSomething()
        {
            var concretion = new Concretion();

            IContainer container =
                new Container(
                    registry => registry.For <Abstraction>().Use(() => concretion));

            container.GetInstance <Abstraction>().ShouldBeTheSameAs(concretion);
        }
        public void ConstructSomethingNotByDefault()
        {
            var concretion = new Concretion();

            var container = new Container(r =>
            {
                r.For<Abstraction>().Add(c => concretion);
            });

            Abstraction actual = container.GetAllInstances<Abstraction>()[0];
            Assert.AreSame(concretion, actual);
        }
        public void ConstructSomethingNotByDefault()
        {
            var concretion = new Concretion();

            var container = new Container(r =>
            {
                r.For <Abstraction>().Add(c => concretion);
            });

            Abstraction actual = container.GetAllInstances <Abstraction>()[0];

            Assert.AreSame(concretion, actual);
        }
        public void AddTwoConstructorsConsecutively()
        {
            var concretion1 = new Concretion();
            var concretion2 = new Concretion();

            IContainer container = new Container(r =>
                r.For<Abstraction>().AddInstances(x => {
                    x.ConstructedBy(() => concretion1).Named("One");
                    x.ConstructedBy(() => concretion2).Named("Two");
                }));

            Assert.AreSame(concretion1, container.GetInstance<Abstraction>("One"));
            Assert.AreSame(concretion2, container.GetInstance<Abstraction>("Two"));
        }
Пример #11
0
        public void AddTwoConstructorsConsecutively()
        {
            var concretion1 = new Concretion();
            var concretion2 = new Concretion();

            IContainer container = new Container(r =>
                                                 r.For <Abstraction>().AddInstances(x => {
                x.ConstructedBy(() => concretion1).Named("One");
                x.ConstructedBy(() => concretion2).Named("Two");
            }));

            Assert.AreSame(concretion1, container.GetInstance <Abstraction>("One"));
            Assert.AreSame(concretion2, container.GetInstance <Abstraction>("Two"));
        }
        public void ConstructSomethingByName()
        {
            var concretion1 = new Concretion();
            var concretion2 = new Concretion();

            IContainer manager = new Container(registry => {
                registry.For<Abstraction>().AddInstances(x => {
                    x.ConstructedBy(() => concretion1).Named("One");
                    x.ConstructedBy(() => concretion2).Named("Two");
                });
            });

            manager.GetInstance<Abstraction>("One").ShouldBeTheSameAs(concretion1);
            manager.GetInstance<Abstraction>("Two").ShouldBeTheSameAs(concretion2);
        }
Пример #13
0
        public void ConstructSomethingByName()
        {
            var concretion1 = new Concretion();
            var concretion2 = new Concretion();

            IContainer manager = new Container(registry => {
                registry.For <Abstraction>().AddInstances(x => {
                    x.ConstructedBy(() => concretion1).Named("One");
                    x.ConstructedBy(() => concretion2).Named("Two");
                });
            });

            manager.GetInstance <Abstraction>("One").ShouldBeTheSameAs(concretion1);
            manager.GetInstance <Abstraction>("Two").ShouldBeTheSameAs(concretion2);
        }
Пример #14
0
 public ReplaceTypeParamCallsExpressionType(ReplaceTypeParamCallsExpression expr, Concretion currentParamTypes) : base(expr)
 {
     CurrentParamTypes = currentParamTypes;
 }
Пример #15
0
 public ReplaceTypeParamCallsExpression(Concretion currentParamTypes, GetConcreteIdentifierFunc getConcreteIdentifier) :
     base(ex => new ReplaceTypeParamCallsExpressionKind(ex as ReplaceTypeParamCallsExpression, currentParamTypes, getConcreteIdentifier),
          ex => new ReplaceTypeParamCallsExpressionType(ex as ReplaceTypeParamCallsExpression, currentParamTypes))
 {
     CurrentParamTypes = currentParamTypes;
 }