public void TestSampleMetadataGeneration() { var policy = new SingleFileMetadataPolicy(); var sampleMetadataModule = _context.GetModuleForSimpleName("SampleMetadataAssembly"); var transformResult = MetadataTransform.Run(policy, new[] { _systemModule, sampleMetadataModule }); Assert.Equal(2, transformResult.Scopes.Count); var systemScope = transformResult.Scopes.Single(s => s.Name.Value == "PrimaryMetadataAssembly"); var sampleScope = transformResult.Scopes.Single(s => s.Name.Value == "SampleMetadataAssembly"); Assert.Equal(_systemModule.GetAllTypes().Count(t => !policy.IsBlocked(t)), systemScope.GetAllTypes().Count()); Assert.Equal(sampleMetadataModule.GetAllTypes().Count(t => !policy.IsBlocked(t)), sampleScope.GetAllTypes().Count()); // TODO: check individual types }
public void TestAllTypes() { var policy = new SingleFileMetadataPolicy(); var transformResult = MetadataTransform.Run(policy, new[] { _systemModule }); Assert.Equal(1, transformResult.Scopes.Count()); Assert.Equal( _systemModule.GetAllTypes().Count(x => !policy.IsBlocked(x)), transformResult.Scopes.Single().GetAllTypes().Count()); }
public void TestBlockedInterface() { var policy = new SingleFileMetadataPolicy(); var transform = new ILCompiler.Metadata.Transform<SingleFileMetadataPolicy>(policy); int count = 0; foreach (Cts.MetadataType type in _systemModule.GetAllTypes()) { if (!policy.IsBlocked(type)) { transform.HandleType(type); count++; } } Assert.Equal(1, transform.Scopes.Count()); var transformedTypes = transform.Scopes.Single().GetAllTypes().ToList(); Assert.Equal(count, transformedTypes.Count); Assert.Equal(1, _systemModule.GetAllTypes().Cast<Cts.MetadataType>().Single(t => t.Name == "__ComObject").ExplicitlyImplementedInterfaces.Length); Assert.Equal(0, transformedTypes.Single(t => t.Name.Value == "__ComObject").Interfaces.Count); }
public void TestBlockedInterface() { var policy = new SingleFileMetadataPolicy(); var transform = new ILCompiler.Metadata.Transform <SingleFileMetadataPolicy>(policy); int count = 0; foreach (Cts.MetadataType type in _systemModule.GetAllTypes()) { if (!policy.IsBlocked(type)) { transform.HandleType(type); count++; } } Assert.Equal(1, transform.Scopes.Count()); var transformedTypes = transform.Scopes.Single().GetAllTypes().ToList(); Assert.Equal(count, transformedTypes.Count); Assert.Equal(1, _systemModule.GetAllTypes().Cast <Cts.MetadataType>().Single(t => t.Name == "__ComObject").ExplicitlyImplementedInterfaces.Length); Assert.Equal(0, transformedTypes.Single(t => t.Name.Value == "__ComObject").Interfaces.Count); }