public void ShouldResolveImplicitelyRegisteredType()
        {
            // Arrange
            var services = new ServiceConnect.Container.Default.Container();

            services.RegisterForAll(typeof(MyImplementation));

            // Act
            var result = services.Resolve <IMyInterface <string> >();

            // Assert
            Assert.NotNull(result);
            Assert.Equal("MyImplementation", result.GetType().Name);
        }
        public void ShouldResolveImplicitelyRegisteredGenericTypes()
        {
            // Arrange
            var services = new ServiceConnect.Container.Default.Container();

            services.RegisterForAll(typeof(MyGenericImplementation <>));

            // Act
            var result1 = services.Resolve <IMyInterface <int> >();
            var result2 = services.Resolve <IMyInterface <string> >();

            // Assert
            Assert.NotNull(result1);
            Assert.True(result1.GetType().GetTypeInfo().IsGenericType);
            Assert.Equal(1, result1.GetType().GetGenericArguments().Count());
            Assert.Equal("Int32", result1.GetType().GetGenericArguments()[0].Name);

            Assert.NotNull(result2);
            Assert.True(result2.GetType().GetTypeInfo().IsGenericType);
            Assert.Equal(1, result2.GetType().GetTypeInfo().GetGenericArguments().Count());
            Assert.Equal("String", result2.GetType().GetGenericArguments()[0].Name);
        }