public void CanStripType()
{
if (Platform.OnMono)
{
return;
}
var assemblyResolver = WindowsRuntimeAssemblyResolver.CreateInstance();
TestModule(ModuleName, (originalModule) => {
var types = CustomListTypeNames.Select(typeName => originalModule.Types.Single(t => t.Name == typeName)).ToArray();
foreach (var type in types)
{
originalModule.Types.Remove(type);
}
var tmpPath = Path.GetTempFileName();
originalModule.Write(tmpPath);
try {
TestModule(tmpPath, (modifiedModule) => {
foreach (var type in types)
{
Assert.IsTrue(!modifiedModule.Types.Any(t => t.FullName == type.FullName));
}
}, verify: false, assemblyResolver: assemblyResolver, applyWindowsRuntimeProjections: true);
} finally {
File.Delete(tmpPath);
}
}, readOnly: true, verify: false, assemblyResolver: assemblyResolver, applyWindowsRuntimeProjections: true);
}