public void ShouldSupportTwoRegistrations() { ITargetContainer targets = new TargetContainer(); var simpleType = new NoCtor(); ITarget target1 = Target.ForObject("hello world"); ITarget target2 = Target.ForObject(new NoCtor()); targets.Register(target1); targets.Register(target2); Assert.Same(target1, targets.Fetch(typeof(string))); Assert.Same(target2, targets.Fetch(typeof(NoCtor))); }
public void AutoInjectedFunc_ShouldResolveSingle() { // Arrange var expectedInstance = new NoCtor(); var targets = CreateAutoFuncTargetContainer(); targets.RegisterObject(expectedInstance); var container = CreateContainer(targets); // Act var func = container.Resolve <Func <NoCtor> >(); // Assert Assert.NotNull(func); Assert.Same(expectedInstance, func()); }
public void AutoInjectedFunc_ShouldResolveAnEnumerable() { // Arrange var instances = new NoCtor[] { new NoCtor(), new NoCtor(), new NoCtor() }; var targets = CreateAutoFuncTargetContainer(); targets.RegisterObject(instances[0]); targets.RegisterObject(instances[1]); targets.RegisterObject(instances[2]); var container = CreateContainer(targets); // Act var func = container.Resolve <Func <IEnumerable <NoCtor> > >(); // Assert Assert.Equal(instances, func()); }
public MultipleCtor(NoCtor cl) { }
public ValidClass(NoCtor cl) { }