Assert.AreEqual(object, object)
方法(在命名空间Microsoft.VisualStudio.TestTools.UnitTesting
中)如何判断参数是否相等?它是否使用了 Object.Equals(object, object)
方法(在 System
命名空间中)?
最佳答案
使用 reflector你可以看到它确实使用了 Object.Equals。
public static void AreEqual<T>(T expected, T actual, string message, params object[] parameters)
{
if (!object.Equals(expected, actual))
{
string str;
if (((actual != null) && (expected != null)) && !actual.GetType().Equals(expected.GetType()))
{
str = (string) FrameworkMessages.AreEqualDifferentTypesFailMsg((message == null) ? string.Empty : ReplaceNulls(message), ReplaceNulls(expected), expected.GetType().FullName, ReplaceNulls(actual), actual.GetType().FullName);
}
else
{
str = (string) FrameworkMessages.AreEqualFailMsg((message == null) ? string.Empty : ReplaceNulls(message), ReplaceNulls(expected), ReplaceNulls(actual));
}
HandleFail("Assert.AreEqual", str, parameters);
}
}
关于c# - Assert.AreEqual(object, object) 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6479203/