public void CreateInstance_Generics(Type type) { // Arrange var activator = new DecryptorTypeForwardingActivator(null); var name = type.AssemblyQualifiedName; // Act & Assert Assert.IsInstanceOf(type, activator.CreateInstance(typeof(object), name)); }
public void CreateInstance_ThrowsForOpenGenerics(Type type) { // Arrange var activator = new DecryptorTypeForwardingActivator(null); var name = type.AssemblyQualifiedName; // Act & Assert Assert.Throws <ArgumentException>(() => activator.CreateInstance(typeof(object), name)); }
private void CreateInstance_ForwardsAcrossVersionChangesImpl(Version newVersion) { var activator = new DecryptorTypeForwardingActivator(null); var typeInfo = typeof(ClassWithParameterlessCtor).GetTypeInfo(); var typeName = typeInfo.FullName; var assemblyName = typeInfo.Assembly.GetName(); assemblyName.Version = newVersion; var newName = $"{typeName}, {assemblyName}"; Assert.AreNotEqual(typeInfo.AssemblyQualifiedName, newName); Assert.IsInstanceOf <ClassWithParameterlessCtor>(activator.CreateInstance(typeof(object), newName, out var forwarded)); Assert.True(forwarded); }