public void Services_CanOverride_OtherServices_ByServiceType() { ITypeFinder finder = new Fakes.FakeTypeFinder(typeof(ReplacedService), typeof(ReplacingReplacedService)); ServiceRegistrator registrator = new ServiceRegistrator(finder, container); registrator.RegisterServices(registrator.FilterServices(registrator.FindServices())); Assert.That(container.Resolve <IReplacedInterface>(), Is.InstanceOf <ReplacingReplacedService>()); Assert.That(container.ResolveAll <IReplacedInterface>().Count(), Is.EqualTo(1)); }
public void Requesting_MultipleConfigurations_GivesAllMatchingServices() { ITypeFinder finder = new Fakes.FakeTypeFinder(typeof(HighService), typeof(LowService)); ServiceRegistrator registrator = new ServiceRegistrator(finder, container); var services = registrator.FilterServices(registrator.FindServices(), "High", "Medium", "Low"); registrator.RegisterServices(services); Assert.That(container.ResolveAll <IBarometer>().Count(), Is.EqualTo(2)); }
public void Requesting_NoConfigurations_DoesntResolveServices_ThatUsesConfigurations() { ITypeFinder finder = new Fakes.FakeTypeFinder(typeof(HighService), typeof(LowService)); ServiceRegistrator registrator = new ServiceRegistrator(finder, container); var services = registrator.FilterServices(registrator.FindServices()); registrator.RegisterServices(services); Assert.That(container.ResolveAll <IBarometer>().Count(), Is.EqualTo(0)); }
public void RequstingConfiguration_AlsoRegisterd_ServicesWithoutConfiguration() { ITypeFinder finder = new Fakes.FakeTypeFinder(typeof(SelfService), typeof(HighService), typeof(LowService)); ServiceRegistrator registrator = new ServiceRegistrator(finder, container); registrator.RegisterServices(registrator.FilterServices(registrator.FindServices(), "High")); Assert.That(container.Resolve <SelfService>(), Is.InstanceOf <SelfService>()); Assert.That(container.Resolve <IBarometer>(), Is.InstanceOf <HighService>()); Assert.That(container.ResolveAll <IBarometer>().Count(), Is.EqualTo(1)); }
public void Resolves_OnlyRequestedConfiguration() { ITypeFinder finder = new Fakes.FakeTypeFinder(typeof(HighService), typeof(LowService)); ServiceRegistrator registrator = new ServiceRegistrator(finder, container); var services = registrator.FilterServices(registrator.FindServices(), "High"); registrator.RegisterServices(services); Assert.That(container.Resolve <IBarometer>(), Is.InstanceOf <HighService>()); Assert.That(container.ResolveAll <IBarometer>().Count(), Is.EqualTo(1)); }