Skip to content

Commit e1cfa01

Browse files
committed
Add test.
1 parent fbc42b2 commit e1cfa01

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

src/libraries/System.Reflection.Metadata/tests/Metadata/TypeSystem/TypeDefinitionTests.cs

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,41 @@ public void ValidateTypeDefinitionIsNestedWindowsProjection()
3232
Assert.Equal(typeDef.Attributes.IsNested(), typeDef.IsNested);
3333
}
3434
}
35+
36+
[Fact]
37+
public void ValidateDeclaringType()
38+
{
39+
var reader = MetadataReaderTests.GetMetadataReader(Misc.Members);
40+
41+
foreach (var typeDefHandle in reader.TypeDefinitions)
42+
{
43+
var typeDef = reader.GetTypeDefinition(typeDefHandle);
44+
foreach (var nestedTypeHandle in typeDef.GetNestedTypes())
45+
{
46+
var nestedType = reader.GetTypeDefinition(nestedTypeHandle);
47+
Assert.Equal(typeDefHandle, nestedType.GetDeclaringType());
48+
}
49+
foreach (var fieldHandle in typeDef.GetFields())
50+
{
51+
var field = reader.GetFieldDefinition(fieldHandle);
52+
Assert.Equal(typeDefHandle, field.GetDeclaringType());
53+
}
54+
foreach (var methodHandle in typeDef.GetMethods())
55+
{
56+
var method = reader.GetMethodDefinition(methodHandle);
57+
Assert.Equal(typeDefHandle, method.GetDeclaringType());
58+
}
59+
foreach (var eventHandle in typeDef.GetEvents())
60+
{
61+
var eventDef = reader.GetEventDefinition(eventHandle);
62+
Assert.Equal(typeDefHandle, eventDef.GetDeclaringType());
63+
}
64+
foreach (var propertyHandle in typeDef.GetProperties())
65+
{
66+
var property = reader.GetPropertyDefinition(propertyHandle);
67+
Assert.Equal(typeDefHandle, property.GetDeclaringType());
68+
}
69+
}
70+
}
3571
}
3672
}

0 commit comments

Comments
 (0)