public void WithRegister_ResolveContainer() { var container = new DependencyContainer(); container.Register(typeof(Shark), new Shark().Name); Assert.IsTrue(container.CanResolve <Shark>(new Shark().Name)); }
public void WithAssemblies_ResolvesIAnimal() { var container = new DependencyContainer(); container.AutoRegister(Runtime.GetAssemblies()); Assert.IsTrue(container.CanResolve <ICar>()); }
public void WithIEnumerable_ResolveContainer() { var container = new DependencyContainer(); Assert.IsTrue(container.CanResolve <IEnumerable <string> >()); container.Register <IEnumerable <string>, StringEnumerable>(); Assert.AreEqual(typeof(StringEnumerable), container.Resolve <IEnumerable <string> >().GetType()); }
public void WithAssembliesAndRegisterMultiple_ResolvesICar() { var container = new DependencyContainer(); container.AutoRegister( Runtime.GetAssemblies(), DependencyContainerDuplicateImplementationActions.RegisterMultiple); Assert.IsTrue(container.CanResolve <ICar>()); }
public void WithFailUnregisteredResolutionActions_FailResolveContainer() { var container = new DependencyContainer(); var resolveOptions = new DependencyContainerResolveOptions { UnregisteredResolutionAction = DependencyContainerUnregisteredResolutionActions.Fail }; Assert.IsFalse(container.CanResolve <Shark>(parameters: new Dictionary <string, object>(), options: resolveOptions)); }
public void WithNoParams_ThrowsDependencyContainerResolutionException() { Assert.Throws <DependencyContainerResolutionException>(() => { var container = new DependencyContainer(); container.AutoRegister(); Assert.IsTrue(container.CanResolve <ICar>()); Assert.AreEqual(new TheOnlyCar().Name, DependencyContainer.Current.Resolve <ICar>().Name); }); }
public void WithAssembliesAndFunc_ResolvesICar() { var container = new DependencyContainer(); container.AutoRegister( AppDomain.CurrentDomain.GetAssemblies(), DependencyContainerDuplicateImplementationAction.RegisterSingle, param => true); Assert.IsTrue(container.CanResolve <ICar>()); }
public void WithInstanceAndRegister_ResolveContainer(string registerName, string resolveName) { var container = new DependencyContainer(); var resolveOptions = new DependencyContainerResolveOptions { NamedResolutionFailureAction = DependencyContainerNamedResolutionFailureActions.AttemptUnnamedResolution }; container.Register <IAnimal>(new Human("George"), registerName); Assert.IsTrue(container.CanResolve <IAnimal>(resolveName, null, resolveOptions)); }
public void WithRegisterAndAttemptUnnamedResolution_ResolveContainer() { var container = new DependencyContainer(); container.Register(typeof(Shark)); var resolveOptions = new DependencyContainerResolveOptions { NamedResolutionFailureAction = DependencyContainerNamedResolutionFailureActions.AttemptUnnamedResolution, }; Assert.IsTrue(container.CanResolve(typeof(Shark), new Shark().Name, resolveOptions)); }
public bool Can_resolve_inner_dependencies_with_service_provider() { var container = new DependencyContainer(); container.Register("A", typeof(IFoo), () => new Bar()); if (!container.CanResolve <IFoo>("A")) { return(false); // not in the right slot } if (container.CanResolve("B", typeof(IFoo))) { return(false); // not in the right slot } if (container.TryResolve(out IFoo _)) { return(false); // not in the right slot } container.Register("B", typeof(Baz), r => new Baz(r.Resolve <IFoo>("A"))); var result = container.TryResolve <Baz>("B", out var baz); return(result && baz?.Foo != null); }
public void WithType_ResolveContainer(Type resolveType) { var container = new DependencyContainer(); Assert.IsTrue(container.CanResolve(resolveType, new Dictionary <string, object>())); }
public void WithoutRegister_FailResolveContainer() { var container = new DependencyContainer(); Assert.IsFalse(container.CanResolve <Shark>(new Shark().Name)); }
public void WithDictionary_ResolveContainer() { var container = new DependencyContainer(); Assert.IsTrue(container.CanResolve <Shark>(parameters: new Dictionary <string, object>())); }
public void WithType_ResolveContainer(Type resolveType) { var container = new DependencyContainer(); Assert.IsTrue(container.CanResolve(resolveType)); }