public void EntryPointsTest() { ILStrip.ILStrip strip = new ILStrip.ILStrip(TestHelper.TranslatePath("ILStripTest.dll")); strip.EntryPoints.Add("ILStripTest.RegularClass"); strip.ScanUsedClasses(); strip.ScanUnusedClasses(); strip.CleanupUnusedClasses(); strip.CleanupUnusedResources(); strip.CleanupUnusedReferences(); AssemblyDefinition def = SaveAssembly(strip); AssemblyAsserts.AssertClassPublic(def, "ILStripTest.RegularClass"); AssemblyAsserts.AssertClassPublic(def, "ILStripTest.EmptyClass"); AssemblyAsserts.AssertClassPublic(def, "ILStripTest.EmptyClass2"); AssemblyAsserts.AssertClassPublic(def, "ILStripTest.CustomAttribute"); AssemblyAsserts.AssertClassPublic(def, "ILStripTest.IInterface"); AssemblyAsserts.AssertNoClass(def, "ILStripTest.Form1"); AssemblyAsserts.AssertNoClass(def, "ILStripTest.ClassWithNestedClass"); AssemblyAsserts.AssertNoClass(def, "ILStripTest.ClassWithNestedClass2"); AssemblyAsserts.AssertNoClass(def, "ILStripTest.ClassWithGeneric"); AssemblyAsserts.AssertNoResource(def, "ILStripTest.Form1.resources"); AssemblyAsserts.AssertReference(def, "mscorlib"); AssemblyAsserts.AssertNoReference(def, "System.Drawing"); AssemblyAsserts.AssertNoReference(def, "System.Windows.Forms"); }
public void CleanupUnusedReferencesTest() { ILStrip.ILStrip strip = new ILStrip.ILStrip(TestHelper.TranslatePath("ILStripTest.dll")); strip.ScanUsedClasses(); strip.ScanUnusedClasses(); strip.CleanupUnusedClasses(); strip.CleanupUnusedReferences(); AssemblyDefinition def = SaveAssembly(strip); AssemblyAsserts.AssertNoClass(def, "ILStripTest.RegularClass"); AssemblyAsserts.AssertNoClass(def, "ILStripTest.EmptyClass"); AssemblyAsserts.AssertNoClass(def, "ILStripTest.EmptyClass2"); AssemblyAsserts.AssertNoClass(def, "ILStripTest.Form1"); AssemblyAsserts.AssertResource(def, "ILStripTest.Form1.resources"); AssemblyAsserts.AssertReference(def, "mscorlib"); // can't be removed AssemblyAsserts.AssertNoReference(def, "System.Drawing"); AssemblyAsserts.AssertNoReference(def, "System.Windows.Forms"); }