private static void ValidateSingleBind(BinderEventListener listener, AssemblyName assemblyName, BindOperation expected) { BindOperation[] binds = listener.WaitAndGetEventsForAssembly(assemblyName); Assert.True(binds.Length == 1, $"Bind event count for {assemblyName} - expected: 1, actual: {binds.Length}"); BindOperation actual = binds[0]; Helpers.ValidateBindOperation(expected, actual); }
public static void PlatformAssembly_DefaultALC() { Console.WriteLine($"Running {nameof(PlatformAssembly_DefaultALC)}..."); using (var listener = new BinderEventListener()) { string assemblyName = "System.Xml"; Assembly asm = Assembly.Load(assemblyName); BindOperation[] binds = listener.WaitAndGetEventsForAssembly(assemblyName); Assert.True(binds.Length == 1, $"Bind count for {assemblyName} - expected: 1, actual: {binds.Length}"); BindOperation bind = binds[0]; Assert.True(bind.Success, $"Expected bind for {assemblyName} to succeed"); } }
private static void ValidateSingleBind(BinderEventListener listener, string assemblyName, BindOperation expected) { BindOperation[] binds = listener.WaitAndGetEventsForAssembly(assemblyName); Assert.IsTrue(binds.Length == 1, $"Bind event count for {assemblyName} - expected: 1, actual: {binds.Length}"); BindOperation actual = binds[0]; ValidateAssemblyName(expected.AssemblyName, actual.AssemblyName, nameof(BindOperation.AssemblyName)); Assert.AreEqual(expected.AssemblyPath ?? string.Empty, actual.AssemblyPath, $"Unexpected value for {nameof(BindOperation.AssemblyPath)} on event"); Assert.AreEqual(expected.AssemblyLoadContext, actual.AssemblyLoadContext, $"Unexpected value for {nameof(BindOperation.AssemblyLoadContext)} on event"); ValidateAssemblyName(expected.RequestingAssembly, actual.RequestingAssembly, nameof(BindOperation.RequestingAssembly)); Assert.AreEqual(expected.RequestingAssemblyLoadContext ?? string.Empty, actual.RequestingAssemblyLoadContext, $"Unexpected value for {nameof(BindOperation.RequestingAssemblyLoadContext)} on event"); Assert.AreEqual(expected.Success, actual.Success, $"Unexpected value for {nameof(BindOperation.Success)} on event"); Assert.AreEqual(expected.ResultAssemblyPath ?? string.Empty, actual.ResultAssemblyPath, $"Unexpected value for {nameof(BindOperation.ResultAssemblyPath)} on event"); Assert.AreEqual(expected.Cached, actual.Cached, $"Unexpected value for {nameof(BindOperation.Cached)} on event"); ValidateAssemblyName(expected.ResultAssemblyName, actual.ResultAssemblyName, nameof(BindOperation.ResultAssemblyName)); }
public static void NonExistentAssembly_DefaultALC() { Console.WriteLine($"Running {nameof(NonExistentAssembly_DefaultALC)}..."); using (var listener = new BinderEventListener()) { string assemblyName = "DoesNotExist"; try { Assembly.Load(assemblyName); } catch { } BindOperation[] binds = listener.WaitAndGetEventsForAssembly(assemblyName); Assert.True(binds.Length == 1, $"Bind event count for {assemblyName} - expected: 1, actual: {binds.Length}"); BindOperation bind = binds[0]; Assert.False(bind.Success, $"Expected bind for {assemblyName} to fail"); } }