Skip to content

Commit 40ce642

Browse files
committed
Fix UnitTestReflectionType tests
- Fix order in the AreEqual asserts. - Add output message to help debug.
1 parent 601e5d7 commit 40ce642

File tree

1 file changed

+45
-27
lines changed

1 file changed

+45
-27
lines changed

Tests/NFUnitTestSystemLib/UnitTestReflectionTypeTest.cs

Lines changed: 45 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -52,85 +52,103 @@ public void SystemReflectionType_RuntimeType_Test1()
5252
///
5353
TestClass cls = new TestClass();
5454

55+
OutputHelper.WriteLine("Testing Type members for a class type");
56+
5557
// Test Type members for a class type
5658
Type t = cls.GetType();
5759
Assembly asm = t.Assembly;
5860
list.Add(asm);
59-
Assert.AreEqual(((Assembly)list[i]).GetName().Name, "NFUnitTest");
60-
Assert.AreEqual(asm.GetName().Name, "NFUnitTest");
61-
Assert.AreEqual(t.Name, "TestClass");
62-
Assert.AreEqual(t.FullName, "NFUnitTestSystemLib.UnitTestReflectionTypeTest+TestClass");
61+
Assert.AreEqual("NFUnitTest", ((Assembly)list[i]).GetName().Name);
62+
Assert.AreEqual("NFUnitTest", asm.GetName().Name);
63+
Assert.AreEqual("TestClass", t.Name);
64+
Assert.AreEqual("NFUnitTestSystemLib.UnitTestReflectionTypeTest+TestClass", t.FullName);
6365
Assert.IsInstanceOfType(t.BaseType, typeof(object));
6466
Assert.IsNull(t.GetElementType());
6567

68+
OutputHelper.WriteLine("Testing methods of class type");
69+
6670
MethodInfo[] mis = t.GetMethods();
67-
Assert.AreEqual(mis[0].Name, "Method1");
71+
Assert.AreEqual("Method1", mis[0].Name);
6872
mis = t.GetMethods(BindingFlags.Instance | BindingFlags.NonPublic);
69-
Assert.AreEqual(mis[0].Name, "Method2");
73+
Assert.AreEqual("Method2", mis[0].Name);
7074
Assert.IsNotNull(t.GetMethod("Method1"));
7175
Assert.IsNotNull(t.GetMethod("Method2", BindingFlags.Instance | BindingFlags.NonPublic));
7276

77+
OutputHelper.WriteLine("Testing fields of class type");
78+
7379
FieldInfo[] fis = t.GetFields();
74-
Assert.AreEqual(fis[0].Name, "m_Field1");
80+
Assert.AreEqual("m_Field1", fis[0].Name);
7581
fis = t.GetFields(BindingFlags.Instance | BindingFlags.NonPublic);
76-
Assert.AreEqual(fis[0].Name, "m_Field2");
82+
Assert.AreEqual("m_Field2", fis[0].Name);
7783
Assert.IsNotNull(t.GetField("m_Field1"));
7884
Assert.IsNotNull(t.GetField("m_Field2", BindingFlags.NonPublic | BindingFlags.Instance));
7985
Assert.IsNotNull(t.GetConstructor(new Type[] { }));
8086

87+
OutputHelper.WriteLine("Testing interfaces of class type");
88+
8189
Type[] ifaces = t.GetInterfaces();
82-
Assert.AreEqual(ifaces.Length, 2);
83-
Assert.AreEqual(ifaces[0].Name, "IInterface1");
84-
Assert.AreEqual(ifaces[1].Name, "IInterface2");
90+
Assert.AreEqual(2, ifaces.Length);
91+
Assert.AreEqual("IInterface1", ifaces[0].Name);
92+
Assert.AreEqual("IInterface2", ifaces[1].Name);
8593
Assert.IsTrue(t.IsSubclassOf(typeof(object)));
8694
i++;
8795

96+
OutputHelper.WriteLine("Testing Type members for a struct valuetype");
97+
8898
// test Type members for a struct valuetype
8999
TestStruct str = new TestStruct();
90100
t = str.GetType();
91101
asm = t.Assembly;
92102
list.Add(asm);
93-
Assert.AreEqual(((Assembly)list[i]).GetName().Name, "NFUnitTest");
94-
Assert.AreEqual(asm.GetName().Name, "NFUnitTest");
95-
Assert.AreEqual(t.Name, "TestStruct");
96-
Assert.AreEqual(t.FullName, "NFUnitTestSystemLib.UnitTestReflectionTypeTest+TestStruct");
103+
Assert.AreEqual("NFUnitTest", ((Assembly)list[i]).GetName().Name);
104+
Assert.AreEqual("NFUnitTest", asm.GetName().Name);
105+
Assert.AreEqual("TestStruct", t.Name);
106+
Assert.AreEqual("NFUnitTestSystemLib.UnitTestReflectionTypeTest+TestStruct", t.FullName);
97107
Assert.IsInstanceOfType(t.BaseType, typeof(ValueType));
98-
Assert.AreEqual(t.GetInterfaces().Length, 0);
108+
Assert.AreEqual(0, t.GetInterfaces().Length);
99109
Assert.IsNull(t.GetElementType());
100110
i++;
101111

112+
OutputHelper.WriteLine("Testing Type members for an Assembly reflection type");
113+
102114
// test Type members for an Assembly reflection type
103115
//Assembly asmObj = typeof(TestClass).Assembly;
104116
//t = asmObj.GetType();
105117
//asm = t.Assembly;
106118
//list.Add(asm);
107-
//Assert.AreEqual(((Assembly)list[i]).GetName().Name, "mscorlib");
108-
//Assert.AreEqual(asm.GetName().Name, "mscorlib");
109-
//Assert.AreEqual(t.Name, "Assembly");
110-
//Assert.AreEqual(t.FullName, "System.Reflection.Assembly");
119+
//Assert.AreEqual("mscorlib", ((Assembly)list[i]).GetName().Name);
120+
//Assert.AreEqual("mscorlib", asm.GetName().Name);
121+
//Assert.AreEqual("Assembly", t.Name);
122+
//Assert.AreEqual("System.Reflection.Assembly", t.FullName);
111123
//Assert.IsInstanceOfType(t.BaseType, typeof(Object));
112-
//Assert.AreEqual(t.GetInterfaces().Length, 0);
124+
//Assert.AreEqual(0, t.GetInterfaces().Length);
113125
//Assert.IsNull(t.GetElementType());
114126

127+
OutputHelper.WriteLine("Testing Type members for a MethodInfo reflection type");
128+
115129
mis = typeof(TestClass).GetMethods(BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public);
116130
t = mis.GetType();
117-
Assert.AreEqual(t.Name, "RuntimeMethodInfo[]");
118-
Assert.AreEqual(t.FullName, "System.Reflection.RuntimeMethodInfo[]");
131+
Assert.AreEqual("RuntimeMethodInfo[]", t.Name);
132+
Assert.AreEqual("System.Reflection.RuntimeMethodInfo[]", t.FullName);
119133
Assert.IsInstanceOfType(t.BaseType, typeof(Array));
120134
Assert.IsTrue(t.GetInterfaces().Length > 0);
121-
Assert.AreEqual(t.GetElementType().Name, "RuntimeMethodInfo");
135+
Assert.AreEqual("RuntimeMethodInfo", t.GetElementType().Name);
136+
137+
OutputHelper.WriteLine("Testing Type members for a delegate");
122138

123139
// test Type members for a delegate
124140
Delegate del = new MyDelegate(MyDelegateImpl);
125141
t = del.GetType();
126142
Assert.IsNotNull(t.DeclaringType);
127-
Assert.AreEqual(t.Name, "MyDelegate");
143+
Assert.AreEqual("MyDelegate", t.Name);
128144
Assert.IsInstanceOfType(t.BaseType, typeof(MulticastDelegate));
129145

146+
OutputHelper.WriteLine("Testing Type members for an enum");
147+
130148
// test Type members for an enum
131149
TestEnum en = TestEnum.Item1;
132150
t = en.GetType();
133-
Assert.IsInstanceOfType(t.DeclaringType, typeof(UnitTestReflectionTypeTest));
151+
Assert.IsInstanceOfType(typeof(UnitTestReflectionTypeTest), t.DeclaringType);
134152
Assert.IsTrue(t.IsEnum);
135153
Assert.IsFalse(t.IsAbstract);
136154
Assert.IsFalse(t.IsClass);
@@ -148,7 +166,7 @@ public void SystemReflectionType_SystemType_Test2()
148166
Assert.IsFalse(typeof(Array).IsValueType);
149167
Assert.IsTrue(typeof(TestStruct).IsValueType);
150168
Assert.IsTrue(typeof(Type).IsSubclassOf(typeof(MemberInfo)));
151-
Assert.AreEqual(typeof(Type).GetInterfaces()[0].Name, "IReflect");
169+
Assert.AreEqual("IReflect", typeof(Type).GetInterfaces()[0].Name);
152170
Assert.IsTrue(typeof(MyDelegate).IsInstanceOfType(new MyDelegate(MyDelegateImpl)));
153171

154172
// Get known type from assembly qualified type name Culture and PublicKeyToken are used by debugger to identify types

0 commit comments

Comments
 (0)