public ReplaceTypeParamCallsExpressionKind(ReplaceTypeParamCallsExpression expr, Concretion currentParamTypes, GetConcreteIdentifierFunc getConcreteIdentifier) : base(expr) { GetConcreteIdentifier = getConcreteIdentifier; CurrentParamTypes = currentParamTypes; }
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); }
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")); }
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); }
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); }
public ReplaceTypeParamCallsExpressionType(ReplaceTypeParamCallsExpression expr, Concretion currentParamTypes) : base(expr) { CurrentParamTypes = currentParamTypes; }
public ReplaceTypeParamCallsExpression(Concretion currentParamTypes, GetConcreteIdentifierFunc getConcreteIdentifier) : base(ex => new ReplaceTypeParamCallsExpressionKind(ex as ReplaceTypeParamCallsExpression, currentParamTypes, getConcreteIdentifier), ex => new ReplaceTypeParamCallsExpressionType(ex as ReplaceTypeParamCallsExpression, currentParamTypes)) { CurrentParamTypes = currentParamTypes; }