public void CheckClassHasAttribute() { Obfuscar.ObfuscationMap map = BuildAndObfuscateAssemblies(); string assmName = "AssemblyWithOverrides.dll"; AssemblyDefinition inAssmDef = AssemblyDefinition.ReadAssembly( Path.Combine(TestHelper.InputPath, assmName)); AssemblyDefinition outAssmDef = AssemblyDefinition.ReadAssembly( Path.Combine(TestHelper.OutputPath, assmName)); TypeDefinition classAType = inAssmDef.MainModule.GetType("TestClasses.ClassA"); MethodDefinition classAmethod2 = FindByName(classAType, "Method2"); MethodDefinition classAcompare = FindByName(classAType, "CompareTo"); TypeDefinition classBType = inAssmDef.MainModule.GetType("TestClasses.ClassB"); MethodDefinition classBmethod2 = FindByName(classBType, "Method2"); MethodDefinition classBcompare = FindByName(classBType, "CompareTo"); TypeDefinition classCType = inAssmDef.MainModule.GetType("TestClasses.ClassC"); MethodDefinition classCmethod1 = FindByName(classCType, "Method1"); TypeDefinition classDType = inAssmDef.MainModule.GetType("TestClasses.ClassD"); MethodDefinition classDmethod1 = FindByName(classDType, "Method1"); Obfuscar.ObfuscatedThing classAEntry = map.GetMethod(new Obfuscar.MethodKey(classAmethod2)); ObfuscatedThing classAEntry1 = map.GetMethod(new MethodKey(classAcompare)); Obfuscar.ObfuscatedThing classBEntry = map.GetMethod(new Obfuscar.MethodKey(classBmethod2)); Obfuscar.ObfuscatedThing classBEntry1 = map.GetMethod(new Obfuscar.MethodKey(classBcompare)); ObfuscatedThing classCEntry = map.GetMethod(new MethodKey(classCmethod1)); ObfuscatedThing classDEntry = map.GetMethod(new MethodKey(classDmethod1)); Assert.IsTrue( classAEntry.Status == Obfuscar.ObfuscationStatus.Renamed && classBEntry.Status == Obfuscar.ObfuscationStatus.Renamed, "Both methods should have been renamed."); Assert.IsTrue( classAEntry.StatusText == classBEntry.StatusText, "Both methods should have been renamed to the same thing."); Assert.IsTrue(classAEntry1.Status == ObfuscationStatus.Skipped); Assert.IsTrue(classBEntry1.Status == ObfuscationStatus.Skipped); Assert.IsTrue(classCEntry.Status == ObfuscationStatus.Renamed); Assert.IsTrue(classDEntry.Status == ObfuscationStatus.Renamed); }