public void CheckObjectWithParametersResolves() { ExampleContainer container = new ExampleContainer(); container.Register<IRepository, Repository>(); container.Register<IRepositoryWithParams, RepositoryWithParams>(); var instance = container.Resolve<IRepositoryWithParams>(); Assert.That(instance, Is.InstanceOf<IRepositoryWithParams>()); }
public void GivenTwoInterfacesAndOneImplementationHasADependencyOnTheOther_InstanceIsCreated() { var container = new ExampleContainer(); container.Register <ISimpleTwo, SimpleTwo>(); container.Register <ISimpleLogger, SimpleLogger>(); var actualInstance = container.Create <ISimpleTwo>(); Assert.IsType <SimpleTwo>(actualInstance); Assert.IsType <SimpleLogger>((actualInstance as SimpleTwo).CheckLogger); }
public void CheckTransientIsDefault() { ExampleContainer container = new ExampleContainer(); container.Register<IRepository, Repository>(); var instance = container.Resolve<IRepository>(); Assert.That(container.Resolve<IRepository>(), Is.Not.SameAs(instance)); }
public void CheckSingltonIsCreated() { ExampleContainer container = new ExampleContainer(); container.Register<IRepository, Repository>(LifestyleType.Singleton); var instance = container.Resolve<IRepository>(); Assert.That(container.Resolve<IRepository>(), Is.SameAs(instance)); }
public void CheckResolveObject() { ExampleContainer container = new ExampleContainer(); container.Register<IRepository, Repository>(); var instance = container.Resolve<IRepository>(); Assert.That(instance, Is.InstanceOf<Repository>()); }
public void GivenAnInteraceAndClassThatUsesIt_ContainerReturnsInstance() { var container = new ExampleContainer(); container.Register <ISimple, Simple>(); var actualInstance = container.Create <ISimple>(); actualInstance.Message = "test"; Assert.IsType <Simple>(actualInstance); }
public void CheckObjectsRegistered() { ExampleContainer container = new ExampleContainer(); container.Register<IRepository, Repository>(); Assert.That(container.IsTypeRegistered<IRepository>()); }