Как подтвердить значение коллекции в 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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