public void MultipleImplementationAreRegisteredByInstance_ResolvedCollectionContainsAllImplementations()
        {
            var adapter   = new AutofacAdapter();
            var instanceA = new TestDependencyA();
            var instanceB = new TestDependencyB();

            adapter.RegisterCollection(new ITestDependency[] { instanceA, instanceB });
            adapter.BuildAsLifetimeScope();

            var collection = adapter.Resolve <IEnumerable <ITestDependency> >().ToArray();

            collection.Should().Contain(instanceA);
            collection.Should().Contain(instanceB);
        }
        public void MultipleImplementationAreRegisteredByInstance_ResolvedCollectionContainsAllImplementations()
        {
            var adapter   = new SimpleInjectorAdapter();
            var instanceA = new TestDependencyA();
            var instanceB = new TestDependencyB();

            adapter.RegisterCollection(new ITestDependency[] { instanceA, instanceB });

            var collection = adapter.Resolve <IEnumerable <ITestDependency> >().ToArray();

            var firstItem  = collection.First();
            var secondItem = collection.Last();

            Assert.AreSame(instanceA, firstItem);
            Assert.AreSame(instanceB, secondItem);
        }
        public void MultipleImplementationAreRegisteredByInstance_ResolvedCollectionContainsAllImplementations()
        {
            var adapter   = new UnityContainerAdapter();
            var instanceA = new TestDependencyA();
            var instanceB = new TestDependencyB();

            adapter.RegisterCollection(new ITestDependency[] { instanceA, instanceB });

            var collection = adapter.Resolve <IEnumerable <ITestDependency> >().ToArray();

            var firstItem  = collection.First();
            var secondItem = collection.Last();

            firstItem.Should().BeSameAs(instanceA);
            secondItem.Should().BeSameAs(instanceB);
        }