2009-06-09 2 views
10

Я знаю, как проверить, что коллекция упорядочена некоторым свойством:Утверждая в NUnit, что коллекция находится в том же порядке, как ожидаемом коллекции

Assert.That(actual, Is.Ordered.By("Foo")); 

Как я могу утверждать, что фактический содержит элементы (1,2,5,3,4) в этом конкретном порядке (без написания пользовательского сравнения).

ответ

19

Использование

CollectionAssert.AreEqual(expectedIEnumerable, actualIEnumerable); 

Это проверяет, что элементы равны и в том же порядке.

Я уверен, что когда вы используете Assert.That в коллекции, вы получаете функцию подтверждения собрания. Так что вы можете сказать такие вещи, как

Assert.That(collection, Is.EqualTo(expectedCollection)); // Same order 

или

Assert.That(collection, Is.EquivalentTo(expectedCollection)); // Same item count 

, а также такие вещи, как

Assert.That(collection, Has.Count.EqualTo(expectedSize)); 

имеет ключевое слово открывает вас к вещи, которая была специфичны для сбора утверждает, и действительно полезен.

+0

Спасибо, забыл о CollectionAssert – ripper234

+0

Имея ТАК, вокруг меня гораздо больше ленивы в отношении поиска в Интернете. – ripper234

+0

Нет проблем, просто показывает, насколько полезен SO :) –