1 // -----------------------------------------------------------------------
\r
2 // Copyright (c) Microsoft Corporation. All rights reserved.
\r
3 // -----------------------------------------------------------------------
\r
5 using System.ComponentModel.Composition;
\r
6 using Microsoft.VisualStudio.TestTools.UnitTesting;
\r
7 using System.Reflection;
\r
9 namespace System.UnitTesting
\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
15 public static class ReflectionAssert
\r
17 public static void AreSame(MemberInfo expected, MemberInfo actual)
\r
19 if (expected == null && actual == null)
\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
29 public static void AreSame(ParameterInfo expected, ParameterInfo actual)
\r
31 if (expected == null && actual == null)
\r
36 ReflectionAssert.AreSame(expected.Member, actual.Member);
\r
37 Assert.AreEqual(expected.MetadataToken, actual.MetadataToken);
\r