я получен простое IEnumerable<foo> foos;
Этот набор является некоторыми результатами вызова дб.
Я хочу удостовериться, что каждый объект в списке заказан правильно. Дб любой возвраты результаты
Может это быть сделанным с быстрым linq оператором.. проверять на это?
например. Assert.IsTrue(.. insert linq statement here .. )
в настоящее время я имею для цикла и помню предыдущую запись и проверку если значение этого, если было значение. Это чувствует себя... громоздким.
Какие-либо идеи?
Вы можете сравнить свою коллекцию с упорядоченной версией:
CollectionAssert.AreEqual(foos.ToList(), foos.OrderBy(f => f.Id));
Или:
CollectionAssert.AreEqual(foos.ToList(),
foos.OrderByDescending(f => f.DateCreated));
Предполагая, что вы запрашиваете наибольшее число, которое вы можете сохранить в целое число, значение зависит от реализации. Я предлагаю не думать таким образом при использовании питона. В любом случае, довольно большое значение может храниться в питоне 'целое'. Помните, Python использует утиную печать!
Изменить: Я дал свой ответ перед разъяснением, что просителю нужно количество цифр. Для этого я согласен с методом, предложенным принятым ответом. Больше нечего добавлять!
-121--627356-Можно сравнить коллекцию с упорядоченной версией:
CollectionAssert.AreEqual(foos.ToList(), foos.OrderBy(f => f.Id));
Или:
CollectionAssert.AreEqual(foos.ToList(),
foos.OrderByDescending(f => f.DateCreated));
-121--4950603- Существует метод расширения с именем SequureEqual , который сделает это. Однако существует также метод утверждения, называемый CollireAssert.AreEqual , который сравнивает две коллекции, чтобы гарантировать, что они имеют одинаковые предметы в одном и том же порядке.