private ResolveAssembly ( object sender, |
||
sender | object | |
args | ||
Résultat |
public void ResolveAssembly_WithIndirectPrivateDependency_IsResolved() { var resolver = new FunctionAssemblyLoader("c:\\"); var metadata1 = new FunctionMetadata { Name = "Test1", Source = @"c:\testroot\test1\test.tst" }; var metadata2 = new FunctionMetadata { Name = "Test2", Source = @"c:\testroot\test2\test.tst" }; var traceWriter = new TestTraceWriter(TraceLevel.Verbose); var mockResolver = new Mock<IFunctionMetadataResolver>(); mockResolver.Setup(m => m.ResolveAssembly("MyTestAssembly.dll")) .Returns(new TestAssembly(new AssemblyName("MyTestAssembly"))); resolver.CreateOrUpdateContext(metadata1, this.GetType().Assembly, new FunctionMetadataResolver(metadata1, traceWriter), traceWriter); resolver.CreateOrUpdateContext(metadata2, this.GetType().Assembly, mockResolver.Object, traceWriter); Assembly result = resolver.ResolveAssembly(null, new System.ResolveEventArgs("MyTestAssembly.dll", new TestAssembly(new AssemblyName("MyDirectReference"), @"file:///c:/testroot/test2/bin/MyDirectReference.dll"))); Assert.NotNull(result); }
public void ResolveAssembly_WithIndirectPrivateDependency_LogsIfResolutionFails() { var resolver = new FunctionAssemblyLoader("c:\\"); var metadata1 = new FunctionMetadata { Name = "Test1", ScriptFile = @"c:\testroot\test1\test.tst" }; var metadata2 = new FunctionMetadata { Name = "Test2", ScriptFile = @"c:\testroot\test2\test.tst" }; var traceWriter = new TestTraceWriter(TraceLevel.Verbose); var mockResolver = new Mock<IFunctionMetadataResolver>(); mockResolver.Setup(m => m.ResolveAssembly("MyTestAssembly.dll")) .Returns<Assembly>(null); resolver.CreateOrUpdateContext(metadata1, this.GetType().Assembly, new FunctionMetadataResolver(metadata1, new Collection<ScriptBindingProvider>(), traceWriter), traceWriter); resolver.CreateOrUpdateContext(metadata2, this.GetType().Assembly, mockResolver.Object, traceWriter); Assembly result = resolver.ResolveAssembly(AppDomain.CurrentDomain, new System.ResolveEventArgs("MyTestAssembly.dll", new TestAssembly(new AssemblyName("MyDirectReference"), @"file:///c:/testroot/test2/bin/MyDirectReference.dll"))); Assert.Null(result); Assert.Equal(1, traceWriter.Traces.Count); Assert.Contains("MyTestAssembly.dll", traceWriter.Traces[0].Message); }