public void CreateInstance_Generics(Type type) { // Arrange var activator = new TypeForwardingActivator(null); var name = type.AssemblyQualifiedName; // Act & Assert Assert.IsType(type, activator.CreateInstance <object>(name)); }
public void CreateInstance_ThrowsForOpenGenerics(Type type) { // Arrange var activator = new TypeForwardingActivator(null); var name = type.AssemblyQualifiedName; // Act & Assert Assert.Throws <ArgumentException>(() => activator.CreateInstance <object>(name)); }
private void CreateInstance_ForwardsAcrossVersionChangesImpl(Version newVersion) { var activator = new TypeForwardingActivator(null); var typeInfo = typeof(ClassWithParameterlessCtor).GetTypeInfo(); var typeName = typeInfo.FullName; var assemblyName = typeInfo.Assembly.GetName(); assemblyName.Version = newVersion; var newName = $"{typeName}, {assemblyName}"; Assert.NotEqual(typeInfo.AssemblyQualifiedName, newName); Assert.IsType <ClassWithParameterlessCtor>(activator.CreateInstance(typeof(object), newName, out var forwarded)); Assert.True(forwarded, "Should have forwarded this type to new version or namespace"); }