2014-06-11 4 views
48

Assert.AreEqual और Assert.AreSame के बीच क्या अंतर है?Assert.AreEqual और Assert.AreSame के बीच डिफ?

+0

संभावित डुप्लिकेट [Assert.AreNotEqual और Assert.AreNotSame के बीच क्या अंतर है?] (Http://stackoverflow.com/questions/543263/whats-the-difference-between-assert-arenotequal-and-assert-arenotsame) – Scott

उत्तर

58

इसका मतलब है कि AreSame() जांचता है कि वे एक ही वस्तु हैं - यदि संदर्भ स्मृति में एक ही वस्तु को इंगित करता है।

AreEqual() जांच करता है कि ऑब्जेक्ट्स के बराबर प्रकार और मान है। स्मृति में दो अलग-अलग स्थानों में समान वस्तुएं मौजूद हो सकती हैं।

42

Assert.AreEqual(a, b)Assert.IsTrue(Object.Equals(a, b)) रूप में ही है

Assert.AreSame(a, b)Assert.IsTrue(Object.ReferenceEquals(a, b))

रूप में ही है (एकमात्र कारण मुझे पता था कि मैं सिर्फ यह अपने आप में कुछ घंटे पहले आज लगा बाहर क्योंकि मैं एक Assert.IsTrue(Object.ReferenceEquals(a,b)) करने के लिए की जरूरत है और सोचा "मुझे आश्चर्य है कि ऐसा करने का कोई बेहतर तरीका है")

संबंधित मुद्दे