Fix bugs in sizing TableLayoutPanel (Xamarin bug 18638)
[mono.git] / mcs / class / System.ComponentModel.Composition / Tests / UnitTestFramework / System / UnitTesting / ReflectionAssert.cs
1 // -----------------------------------------------------------------------\r
2 // Copyright (c) Microsoft Corporation.  All rights reserved.\r
3 // -----------------------------------------------------------------------\r
4 using System;\r
5 using System.ComponentModel.Composition;\r
6 using Microsoft.VisualStudio.TestTools.UnitTesting;\r
7 using System.Reflection;\r
8 \r
9 namespace System.UnitTesting\r
10 {\r
11     // Unfortunately, you can't rely on reference equality for MemberInfo and ParameterInfo\r
12     // objects because, you may get different instances representing the same members depending\r
13     // on the type that the member was retrieived from.\r
14 \r
15     public static class ReflectionAssert\r
16     {\r
17         public static void AreSame(MemberInfo expected, MemberInfo actual)\r
18         {\r
19             if (expected == null && actual == null)\r
20             {\r
21                 return;\r
22             }\r
23 \r
24             Assert.AreEqual(expected.MetadataToken, actual.MetadataToken);\r
25             Assert.AreSame(expected.Module, actual.Module);\r
26             Assert.AreEqual(expected.MemberType, actual.MemberType);            \r
27         }\r
28 \r
29         public static void AreSame(ParameterInfo expected, ParameterInfo actual)\r
30         {\r
31             if (expected == null && actual == null)\r
32             {\r
33                 return;\r
34             }\r
35 \r
36             ReflectionAssert.AreSame(expected.Member, actual.Member);\r
37             Assert.AreEqual(expected.MetadataToken, actual.MetadataToken);\r
38         }\r
39     }\r
40 }\r