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)); }