public void ExportProviderResolvesServicesRegisteredByTypeTest()
        {
            // Setup
            var unityContainer = new UnityContainer();
            var adapter = new UnityContainerAdapter(unityContainer);
            var provider = new ContainerExportProvider(adapter);

            // Registration
            unityContainer.RegisterType<IUnityOnlyComponent, UnityOnlyComponent1>();
            unityContainer.RegisterType<IUnityOnlyComponent, UnityOnlyComponent2>("b");

            var components = provider.GetExports<IUnityOnlyComponent>();
            Assert.That(components, Is.Not.Null);
            Assert.That(components.Count(), Is.EqualTo(2));

            Assert.That(components.Select(t => t.Value).OfType<UnityOnlyComponent1>().Count(), Is.EqualTo(1));
            Assert.That(components.Select(t => t.Value).OfType<UnityOnlyComponent2>().Count(), Is.EqualTo(1));
        }
        public void ExportProviderResolvesServicesRegisteredByTypeTest()
        {
            // Setup
            var unityContainer = new UnityContainer();
            var adapter        = new UnityContainerAdapter(unityContainer);
            var provider       = new ContainerExportProvider(adapter);

            // Registration
            unityContainer.RegisterType <IUnityOnlyComponent, UnityOnlyComponent1>();
            unityContainer.RegisterType <IUnityOnlyComponent, UnityOnlyComponent2>("b");

            var components = provider.GetExports <IUnityOnlyComponent>();

            Assert.That(components, Is.Not.Null);
            Assert.That(components.Count(), Is.EqualTo(2));

            Assert.That(components.Select(t => t.Value).OfType <UnityOnlyComponent1>().Count(), Is.EqualTo(1));
            Assert.That(components.Select(t => t.Value).OfType <UnityOnlyComponent2>().Count(), Is.EqualTo(1));
        }
        public void ExportProviderResolvesServicesRegisteredByTypeTest()
        {
            // Setup
            var builder = new ContainerBuilder();

            builder.RegisterType <AutofacOnlyComponent1>().As <IAutofacOnlyComponent>();
            builder.RegisterType <AutofacOnlyComponent2>().Named <IAutofacOnlyComponent>("b");
            var autofacContainer = builder.Build();
            var adapter          = new AutofacContainerAdapter(autofacContainer);
            var provider         = new ContainerExportProvider(adapter);

            var components = provider.GetExports <IAutofacOnlyComponent>();

            Assert.That(components, Is.Not.Null);
            Assert.That(components.Count(), Is.EqualTo(2));

            Assert.That(components.Select(t => t.Value).OfType <AutofacOnlyComponent1>().Count(), Is.EqualTo(1));
            Assert.That(components.Select(t => t.Value).OfType <AutofacOnlyComponent2>().Count(), Is.EqualTo(1));
        }