Comment utiliser CollectionAssert (et LINQ?) Pour trouver toutes les valeurs pour une propriété, sont les mêmes?
-
25-09-2019 - |
Question
est une extension à un question précédente , aujourd'hui .... qui a mis en évidence l'utilisation de CollectionAssert pour aider les collections de test (que je ne connaissais pas).
J'ai un ICollection<Foo> foos;
Cela a une propriété appelée Statut, qui .. pour garder les choses simples, est un int ou octet (quel que soit votre bateau flotte <- voir ce que je faisais là-bas ?! / me cache)
Alors, comment puis-je utiliser CollectionAssert pour voir si tous les éléments, dans le ICollection retourné, tous ont la même valeur pour cette une propriété?
La solution
Je ne vois rien dans CollectionAssert
pour aider, mais vous pouvez faire quelque chose comme:
int expectedValue = foos.First().Status;
Assert.IsTrue(foos.All(x => x.Status == expectedValue));
Il est pas idéal que ce ne sera pas vous montrer les valeurs réelles en cas d'échec -. Mais vous pouvez écrire votre propre méthode pour cela, si vous devez le faire régulièrement