public void GetReverseReferences() { _assemblyDefinition1.MainModule.AssemblyReferences.Add (_assemblyDefinition2.Name); AssemblyTracker tracker = new AssemblyTracker (new[] { _assemblyDefinition1, _assemblyDefinition2 }, new TypeDefinitionCache ()); var reverseReferences = tracker.GetReverseReferences (_assemblyDefinition2); Assert.That (reverseReferences, Is.EquivalentTo (new [] {_assemblyDefinition1})); }
public void GetReverseReferences_MultiModuleAssembly() { ModuleDefinition module = ModuleDefinition.CreateModule ("Module1", ModuleKind.NetModule); module.AssemblyReferences.Add (_assemblyDefinition2.Name); _assemblyDefinition1.Modules.Add (module); AssemblyTracker tracker = new AssemblyTracker (new[] { _assemblyDefinition1, _assemblyDefinition2 }, new TypeDefinitionCache ()); var reverseReferences = tracker.GetReverseReferences (_assemblyDefinition2); Assert.That (reverseReferences, Is.EquivalentTo (new[] { _assemblyDefinition1 })); }
public void GetReverseReferences_NotTracked() { AssemblyTracker tracker = new AssemblyTracker (new AssemblyDefinition[0], new TypeDefinitionCache ()); Assert.Throws<ArgumentException> (() => tracker.GetReverseReferences (_assemblyDefinition1)); }