public void Resolve_OpenGenericDependency_ClosedGenericDependencyType() { var dependencies = new DependencyConfiguration(); dependencies.RegisterTransient <IRepository, RepositoryImpl>(); dependencies.RegisterTransient(typeof(IServiceGeneric <>), typeof(ServiceGenericImpl <>)); var provider = new DependencyProvider(dependencies); IServiceGeneric <IRepository> service = provider.Resolve <IServiceGeneric <IRepository> >(); Type expectedType = typeof(ServiceGenericImpl <IRepository>); Type receivedType = service.GetType(); Assert.AreEqual(expectedType, receivedType); }