public void Requesting_MultipleConfigurations_GivesAllMatchingServices()
        {
            ITypeFinder finder = new Fakes.FakeTypeFinder(typeof(HighService), typeof(LowService));

            DependencyAttributeRegistrator registrator = new DependencyAttributeRegistrator(finder, engine);
            var services = registrator.FilterServices(registrator.FindServices(), "High", "Medium", "Low");

            registrator.RegisterServices(services);

            Assert.That(engine.ResolveAll <IBarometer>().Count(), Is.EqualTo(2));
        }
        public void RequstingConfiguration_AlsoRegisterd_ServicesWithoutConfiguration()
        {
            ITypeFinder finder = new Fakes.FakeTypeFinder(typeof(SelfService), typeof(HighService), typeof(LowService));

            DependencyAttributeRegistrator registrator = new DependencyAttributeRegistrator(finder, engine);

            registrator.RegisterServices(registrator.FilterServices(registrator.FindServices(), "High"));

            Assert.That(engine.Resolve <SelfService>(), Is.InstanceOf <SelfService>());
            Assert.That(engine.Resolve <IBarometer>(), Is.InstanceOf <HighService>());
            Assert.That(engine.ResolveAll <IBarometer>().Count(), Is.EqualTo(1));
        }
        public void Resolves_OnlyRequestedConfiguration()
        {
            ITypeFinder finder = new Fakes.FakeTypeFinder(typeof(HighService), typeof(LowService));

            DependencyAttributeRegistrator registrator = new DependencyAttributeRegistrator(finder, engine);
            var services = registrator.FilterServices(registrator.FindServices(), "High");

            registrator.RegisterServices(services);

            Assert.That(engine.Resolve <IBarometer>(), Is.InstanceOf <HighService>());
            Assert.That(engine.ResolveAll <IBarometer>().Count(), Is.EqualTo(1));
        }