كيفية استخدام CollectionAssert (و LINQ؟) للعثور على جميع القيم لخاصية واحدة ، هل هي نفسها؟

StackOverflow https://stackoverflow.com/questions/2190152

  •  25-09-2019
  •  | 
  •  

سؤال

هذا امتداد لـ السؤال السابق الذي طرحته, ، اليوم .... الذي أبرز استخدام CollectionAssert للمساعدة في اختبار المجموعات (التي لم أكن أعرفها أبدًا).

انا لدي ICollection<Foo> foos; هذا له خاصية تسمى الحالة ، والتي .. للحفاظ على الأشياء البسيطة ، هو int أو بايت (أيا كان يطفو قاربك <- انظر ماذا فعلت هناك؟! /أنا أخفي).

لذا ، كيف يمكنني استخدام CollectionAssert لمعرفة ما إذا كانت جميع العناصر ، في iCollection التي تم إرجاعها ، كلها لها نفس القيمة لتلك الخاصية؟

هل كانت مفيدة؟

المحلول

لا أرى أي شيء في CollectionAssert للمساعدة ، ولكن يمكنك أن تفعل شيئًا مثل:

int expectedValue = foos.First().Status;
Assert.IsTrue(foos.All(x => x.Status == expectedValue));

إنه ليس مثاليًا لأنه لن يظهر لك القيم الفعلية في حالة الفشل - ولكن يمكنك كتابة طريقتك الخاصة لذلك ، إذا كنت بحاجة إلى القيام بذلك بانتظام.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top