public void CanCreateServiceRegisteredAsOtherType() { TestableServiceCollection services = CreateServiceCollection(); object svc = services.AddNew(typeof(MockDataObject), typeof(IMockDataObject)); Assert.IsNotNull(svc); Assert.IsNull(services.Get(typeof(MockDataObject))); Assert.AreSame(svc, services.Get(typeof(IMockDataObject))); }
public void CanCreateServiceRegisteredAsOtherType_Generic() { TestableServiceCollection services = CreateServiceCollection(); MockDataObject svc = services.AddNew <MockDataObject, IMockDataObject>(); Assert.IsNotNull(svc); Assert.IsNull(services.Get <MockDataObject>()); Assert.AreSame(svc, services.Get <IMockDataObject>()); }
public void CanAddDemandAddServiceOfOneTypeAndRegisterAsOtherType() { TestableServiceCollection services = CreateServiceCollection(); services.AddOnDemand(typeof(MockDemandService), typeof(IMockDemandService)); Assert.IsFalse(services.Contains <MockDemandService>()); Assert.IsTrue(services.Contains <IMockDemandService>()); Assert.IsNull(services.Get <MockDemandService>()); Assert.IsNotNull(services.Get <IMockDemandService>()); }
public void CanRemoveService_Generic() { TestableServiceCollection services = CreateServiceCollection(); services.Add <MockDataObject>(new MockDataObject()); services.Remove <MockDataObject>(); Assert.IsNull(services.Get <MockDataObject>()); }
public void CanAddDemandAddServiceAndRetrieveService() { TestableServiceCollection services = CreateServiceCollection(); services.AddOnDemand(typeof(MockDemandService)); Assert.IsTrue(services.Contains <MockDemandService>()); Assert.IsNotNull(services.Get <MockDemandService>()); }
public void CanRemoveService() { TestableServiceCollection services = CreateServiceCollection(); services.Add(typeof(MockDataObject), new MockDataObject()); services.Remove(typeof(MockDataObject)); Assert.IsNull(services.Get(typeof(MockDataObject))); }
public void CanAskForBuilderToEnsureServiceExists() { TestableServiceCollection services = CreateServiceCollection(); MockDataObject svc = new MockDataObject(); services.Add(typeof(MockDataObject), svc); MockDataObject result = (MockDataObject)services.Get(typeof(MockDataObject), true); Assert.AreSame(svc, result); }
public void DemandAddedServiceFromParentGetsReplacedInParentEvenWhenAskedForFromChild_Generic() { TestableServiceCollection parent = CreateServiceCollection(); TestableServiceCollection child = new TestableServiceCollection(parent); parent.AddOnDemand <MockDemandService>(); MockDemandService svc = child.Get <MockDemandService>(); Assert.AreSame(svc, parent.Locator.Get(new DependencyResolutionLocatorKey(typeof(MockDemandService), null))); }
public void AddingServiceToWorkItemAllowsRetrievalOfService_Generic() { TestableServiceCollection services = CreateServiceCollection(); MockDataObject svc = new MockDataObject(); services.Add(typeof(MockDataObject), svc); MockDataObject result = services.Get <MockDataObject>(); Assert.AreSame(svc, result); }
public void AddingServiceToContainerAllowsRetrievalOfService() { TestableServiceCollection services = CreateServiceCollection(); MockDataObject svc = new MockDataObject(); services.Add(typeof(MockDataObject), svc); MockDataObject result = (MockDataObject)services.Get(typeof(MockDataObject)); Assert.AreSame(svc, result); }
public void CanCreateServiceInChildWhenServiceExistsInParent() { TestableServiceCollection services = CreateServiceCollection(); TestableServiceCollection childServices = new TestableServiceCollection(services); object parentService = services.AddNew(typeof(MockDataObject)); object childService = childServices.AddNew(typeof(MockDataObject)); Assert.AreSame(parentService, services.Get(typeof(MockDataObject))); Assert.AreSame(childService, childServices.Get(typeof(MockDataObject))); }
public void CanCreateServiceInChildWhenServiceExistsInParent_Generic() { TestableServiceCollection services = CreateServiceCollection(); TestableServiceCollection childServices = new TestableServiceCollection(services); MockDataObject parentService = services.AddNew <MockDataObject>(); MockDataObject childService = childServices.AddNew <MockDataObject>(); Assert.AreSame(parentService, services.Get <MockDataObject>()); Assert.AreSame(childService, childServices.Get <MockDataObject>()); }
public void CanAddDemandAddServiceAndItWontBeCreatedUntilAskedFor() { TestableServiceCollection services = CreateServiceCollection(); MockDemandService.WasCreated = false; services.AddOnDemand(typeof(MockDemandService)); Assert.IsFalse(MockDemandService.WasCreated); Assert.IsTrue(services.Contains <MockDemandService>()); Assert.IsFalse(MockDemandService.WasCreated); MockDemandService svc = services.Get <MockDemandService>(); Assert.IsTrue(MockDemandService.WasCreated); }
public void DemandAddedServiceEventsAreFiredAtTheRightTime() { bool AddedEventFired = false; bool RemovedEventFired = false; TestableServiceCollection services = CreateServiceCollection(); services.Added += delegate { AddedEventFired = true; }; services.Removed += delegate { RemovedEventFired = true; }; services.AddOnDemand <object>(); Assert.IsFalse(AddedEventFired); Assert.IsFalse(RemovedEventFired); services.Get <object>(); Assert.IsTrue(AddedEventFired); Assert.IsFalse(RemovedEventFired); services.Remove <object>(); Assert.IsTrue(RemovedEventFired); }
public void DemandAddedServiceFromParentGetsReplacedInParentEvenWhenAskedForFromChild_Generic() { TestableServiceCollection parent = CreateServiceCollection(); TestableServiceCollection child = new TestableServiceCollection(parent); parent.AddOnDemand<MockDemandService>(); MockDemandService svc = child.Get<MockDemandService>(); Assert.AreSame(svc, parent.Locator.Get(new DependencyResolutionLocatorKey(typeof (MockDemandService), null))); }
public void CanCreateServiceInChildWhenServiceExistsInParent() { TestableServiceCollection services = CreateServiceCollection(); TestableServiceCollection childServices = new TestableServiceCollection(services); object parentService = services.AddNew(typeof (MockDataObject)); object childService = childServices.AddNew(typeof (MockDataObject)); Assert.AreSame(parentService, services.Get(typeof (MockDataObject))); Assert.AreSame(childService, childServices.Get(typeof (MockDataObject))); }
public void CanCreateServiceInChildWhenServiceExistsInParent_Generic() { TestableServiceCollection services = CreateServiceCollection(); TestableServiceCollection childServices = new TestableServiceCollection(services); MockDataObject parentService = services.AddNew<MockDataObject>(); MockDataObject childService = childServices.AddNew<MockDataObject>(); Assert.AreSame(parentService, services.Get<MockDataObject>()); Assert.AreSame(childService, childServices.Get<MockDataObject>()); }
public void GetServiceCanThrowOnMissingService() { TestableServiceCollection services = CreateServiceCollection(); services.Get(typeof(MockDataObject), true); }
public void GetServiceCanReturnNullWhenServiceDoesntExist_Generic() { TestableServiceCollection services = CreateServiceCollection(); Assert.IsNull(services.Get <MockDataObject>()); }
public void GetServiceCanReturnNullWhenServiceDoesntExist() { TestableServiceCollection services = CreateServiceCollection(); Assert.IsNull(services.Get(typeof(MockDataObject))); }
public void GetServiceCanThrowOnMissingService_Generic() { TestableServiceCollection services = CreateServiceCollection(); services.Get <MockDataObject>(true); }