public void AddTypeWithStandaloneGenericInterfaceType() { var repository = new PluginRepository(); Func <Type, TypeIdentity> identityGenerator = t => TypeIdentity.CreateDefinition(t); var definition = TypeDefinition.CreateDefinition(typeof(IComparer <>), identityGenerator); repository.AddType(definition); Assert.IsTrue(repository.ContainsDefinitionForType(typeof(IComparer <>).AssemblyQualifiedName)); Assert.IsTrue(repository.ContainsDefinitionForType(TypeIdentity.CreateDefinition(typeof(IComparer <>)))); Assert.AreSame(definition, repository.TypeByName(typeof(IComparer <>).AssemblyQualifiedName)); Assert.AreSame(definition, repository.TypeByIdentity(TypeIdentity.CreateDefinition(typeof(IComparer <>)))); }
public void AddTypeWithStandaloneInterfaceType() { var repository = new PluginRepository(); Func<Type, TypeIdentity> identityGenerator = t => TypeIdentity.CreateDefinition(t); var definition = TypeDefinition.CreateDefinition(typeof(IEnumerable), identityGenerator); repository.AddType(definition); Assert.IsTrue(repository.ContainsDefinitionForType(typeof(IEnumerable).AssemblyQualifiedName)); Assert.IsTrue(repository.ContainsDefinitionForType(TypeIdentity.CreateDefinition(typeof(IEnumerable)))); Assert.AreSame(definition, repository.TypeByName(typeof(IEnumerable).AssemblyQualifiedName)); Assert.AreSame(definition, repository.TypeByIdentity(TypeIdentity.CreateDefinition(typeof(IEnumerable)))); }