AssertEquals (m2.GetField ("DATA", BindingFlags.Public), null);\r
}\r
\r
+#if NET_2_0\r
+\r
+ [Test]\r
+ public void ResolveType () {\r
+ Type t = typeof (ModuleTest);\r
+ Module module = t.Module;\r
+\r
+ AssertEquals (t, module.ResolveType (t.MetadataToken));\r
+\r
+ /* We currently throw ArgumentException for this one */\r
+ try {\r
+ module.ResolveType (1234);\r
+ Fail ();\r
+ }\r
+ catch (ArgumentException) {\r
+ }\r
+\r
+ try {\r
+ module.ResolveType (t.GetMethod ("ResolveType").MetadataToken);\r
+ Fail ();\r
+ }\r
+ catch (ArgumentException) {\r
+ }\r
+\r
+ try {\r
+ module.ResolveType (t.MetadataToken + 10000);\r
+ Fail ();\r
+ }\r
+ catch (ArgumentOutOfRangeException) {\r
+ }\r
+ }\r
+\r
+ [Test]\r
+ public void ResolveMethod () {\r
+ Type t = typeof (ModuleTest);\r
+ Module module = t.Module;\r
+\r
+ AssertEquals (t.GetMethod ("ResolveMethod"), module.ResolveMethod (t.GetMethod ("ResolveMethod").MetadataToken));\r
+\r
+ try {\r
+ module.ResolveMethod (1234);\r
+ Fail ();\r
+ }\r
+ catch (ArgumentException) {\r
+ }\r
+\r
+ try {\r
+ module.ResolveMethod (t.MetadataToken);\r
+ Fail ();\r
+ }\r
+ catch (ArgumentException) {\r
+ }\r
+\r
+ try {\r
+ module.ResolveMethod (t.GetMethod ("ResolveMethod").MetadataToken + 10000);\r
+ Fail ();\r
+ }\r
+ catch (ArgumentOutOfRangeException) {\r
+ }\r
+ }\r
+\r
+ public int aField;\r
+\r
+ [Test]\r
+ public void ResolveField () {\r
+ Type t = typeof (ModuleTest);\r
+ Module module = t.Module;\r
+\r
+ AssertEquals (t.GetField ("aField"), module.ResolveField (t.GetField ("aField").MetadataToken));\r
+\r
+ try {\r
+ module.ResolveField (1234);\r
+ Fail ();\r
+ }\r
+ catch (ArgumentException) {\r
+ }\r
+\r
+ try {\r
+ module.ResolveField (t.MetadataToken);\r
+ Fail ();\r
+ }\r
+ catch (ArgumentException) {\r
+ }\r
+\r
+ try {\r
+ module.ResolveField (t.GetField ("aField").MetadataToken + 10000);\r
+ Fail ();\r
+ }\r
+ catch (ArgumentOutOfRangeException) {\r
+ }\r
+ }\r
+\r
+ [Test]\r
+ public void ResolveString () {\r
+ Type t = typeof (ModuleTest);\r
+ Module module = t.Module;\r
+\r
+ for (int i = 1; i < 10000; ++i) {\r
+ try {\r
+ module.ResolveString (0x70000000 + i);\r
+ }\r
+ catch (Exception) {\r
+ }\r
+ }\r
+\r
+ try {\r
+ module.ResolveString (1234);\r
+ Fail ();\r
+ }\r
+ catch (ArgumentException) {\r
+ }\r
+\r
+ try {\r
+ module.ResolveString (t.MetadataToken);\r
+ Fail ();\r
+ }\r
+ catch (ArgumentException) {\r
+ }\r
+\r
+ try {\r
+ module.ResolveString (0x70000000 | 10000);\r
+ Fail ();\r
+ }\r
+ catch (ArgumentOutOfRangeException) {\r
+ }\r
+ }\r
+\r
+\r
+ [Test]\r
+ public void ResolveMember () {\r
+ Type t = typeof (ModuleTest);\r
+ Module module = t.Module;\r
+\r
+ AssertEquals (t, module.ResolveMember (t.MetadataToken));\r
+ AssertEquals (t.GetField ("aField"), module.ResolveMember (t.GetField ("aField").MetadataToken));\r
+ AssertEquals (t.GetMethod ("ResolveMember"), module.ResolveMember (t.GetMethod ("ResolveMember").MetadataToken));\r
+\r
+ try {\r
+ module.ResolveMember (module.MetadataToken);\r
+ }\r
+ catch (ArgumentException) {\r
+ }\r
+ }\r
+#endif\r
+\r
[Test]\r
public void FindTypes () {\r
Module m = typeof (ModuleTest).Module;\r