public void TestGetInstance <TService, TImplementation>(IDiContainer container)
            where TService : class
            where TImplementation : class
        {
            Xunit.Assert.Throws <ResolveFailedException>(container.GetInstance <IUnknownService>);

            var helper = container.GetInstance <DiContainerTestHelper>();

            Xunit.Assert.IsType <DiContainerTestHelper>(helper);

            var service = container.GetInstance <TService>();

            Xunit.Assert.IsType <TImplementation>(service);

            var service2 = container.GetInstance(typeof(TService));

            Xunit.Assert.IsType <TImplementation>(service2);

            var service3 = container.GetService(typeof(TService));

            Xunit.Assert.IsType <TImplementation>(service3);
        }