كيفية استخدام CollectionAssert (و LINQ؟) للعثور على جميع القيم لخاصية واحدة ، هل هي نفسها؟
-
25-09-2019 - |
سؤال
هذا امتداد لـ السؤال السابق الذي طرحته, ، اليوم .... الذي أبرز استخدام CollectionAssert للمساعدة في اختبار المجموعات (التي لم أكن أعرفها أبدًا).
انا لدي ICollection<Foo> foos;
هذا له خاصية تسمى الحالة ، والتي .. للحفاظ على الأشياء البسيطة ، هو int أو بايت (أيا كان يطفو قاربك <- انظر ماذا فعلت هناك؟! /أنا أخفي).
لذا ، كيف يمكنني استخدام CollectionAssert لمعرفة ما إذا كانت جميع العناصر ، في iCollection التي تم إرجاعها ، كلها لها نفس القيمة لتلك الخاصية؟
المحلول
لا أرى أي شيء في CollectionAssert
للمساعدة ، ولكن يمكنك أن تفعل شيئًا مثل:
int expectedValue = foos.First().Status;
Assert.IsTrue(foos.All(x => x.Status == expectedValue));
إنه ليس مثاليًا لأنه لن يظهر لك القيم الفعلية في حالة الفشل - ولكن يمكنك كتابة طريقتك الخاصة لذلك ، إذا كنت بحاجة إلى القيام بذلك بانتظام.
لا تنتمي إلى StackOverflow