Утверждение в NUnit, что коллекция находится в том же порядке, что и ожидаемая коллекция

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

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

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

Ответ 1

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

CollectionAssert.AreEqual(expectedIEnumerable, actualIEnumerable);

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

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

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

или

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

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

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

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