Как подтвердить значение коллекции в NUnit с помощью выражения коллекции, тип которого выводится из тестового значенияC#

Место общения программистов C#
Anonymous
Как подтвердить значение коллекции в NUnit с помощью выражения коллекции, тип которого выводится из тестового значения

Сообщение Anonymous »

Я могу утверждать значение массива, используя выражения коллекции в NUnit, следующим образом:
var arr = new[] { 1, 2, 3 };
Assert.That(arr, Is.EquivalentTo((int[])[1, 2, 7, 3]));

Я бы хотел написать
var arr = new[] { 1, 2, 3 };
Assert.That(arr, Is.EquivalentTo([1, 2, 7, 3]));

EquiвалентTo() ожидает нетипизированный IEnumerable, он должен ожидать массив или перечисляемое того же типа, что и arr.
Есть ли в NUnit прямой способ добиться этого?
Проблема, которую я вижу, заключается в том, что тип проверочного значения влияет на ограничение (Is.Equivalen), поэтому система ограничений NUnit своего рода нетипизированный.
Без идиоматических ограничений я могу использовать служебный метод:
void AssertCollection(IEnumerable coll, IEnumerable expected)
{
Assert.That(coll, Is.EquivalentTo(expected));
}

AssertCollection(arr, [1, 2, 7, 3]);


Подробнее здесь: https://stackoverflow.com/questions/789 ... ression-wh

Вернуться в «C#»