コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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));
        }
コード例 #4
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));
        }
コード例 #5
0
        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));
        }