public void PocketContainer_is_implicitly_registered_to_itself()
        {
            var container = new PocketContainer();

            var resolvedContainer = container.Resolve <PocketContainer>();

            container.Should().BeSameAs(resolvedContainer);
        }
        public void Open_generic_types_registrations_behave_as_expected
            ()
        {
            var services = new ServiceCollection()
                           .AddTransient(
                serviceType: typeof(IAmAGenericInterface <>),
                implementationType: typeof(IAmAGenericImplementation <>));

            var foo = services.BuildServiceProvider()
                      .GetService <IAmAGenericInterface <string> >();

            foo.Should().BeOfType <IAmAGenericImplementation <string> >();

            foo = new PocketContainer()
                  .AsServiceProvider(services)
                  .GetService <IAmAGenericInterface <string> >();

            foo.Should().BeOfType <IAmAGenericImplementation <string> >();
        }