Assert
সিস্টেম থেকে এক উত্তরাধিকার সূত্রে প্রাপ্ত স্ট্যাটিক শ্রেণি.অবজেক্ট, যেমন সমস্ত ক্লাস C # তে অন্তর্ভুক্ত থাকে। System.Object নিম্নলিখিত পদ্ধতি প্রয়োগ করে:
static bool Equals(object a, object b)
সমতা তুলনা করার উদ্দেশ্যে যা দাবী করা হয় সেগুলি Assert.AreEqual()
পদ্ধতিগুলি। সুতরাং, Object.Equals()
ইউনিট পরীক্ষায় আসর্ট ক্লাসের মাধ্যমে পদ্ধতিটি কল করা অবশ্যই ভুল। এই ভুলটি রোধ করতে এবং বিভ্রান্তি এড়াতে, নুনিটের বিকাশকারীরা Object.Equals
একটি ব্যতিক্রম ছুঁড়ে এমন একটি বাস্তবায়ন দিয়ে ইচ্ছাকৃতভাবে এ্যাসেট ক্লাসে লুকিয়ে রেখেছে । বাস্তবায়ন এখানে:
/// <summary>
/// The Equals method throws an AssertionException. This is done
/// to make sure there is no mistake by calling this function.
/// </summary>
/// <param name="a"></param>
/// <param name="b"></param>
[EditorBrowsable(EditorBrowsableState.Never)]
public static new bool Equals(object a, object b)
{
// TODO: This should probably be InvalidOperationException
throw new AssertionException("Assert.Equals should not be used for Assertions");
}
অবশ্যই ব্যতিক্রম বার্তা নিজেই বিভ্রান্তিকর, তবে কমপক্ষে এটি আপনাকে জানায় যে আপনি কিছু ভুল করেছেন।