Я плохо знаком с TDD и xUnit, таким образом, я хочу протестировать свой метод, который смотрит что-то как:
List<T> DeleteElements<T>(this List<T> a, List<T> b);
Есть ли, кто-либо Утверждает метод, который я могу использовать? Я думаю, что что-то вроде этого было бы хорошо
List<int> values = new List<int>() { 1, 2, 3 };
List<int> expected = new List<int>() { 1 };
List<int> actual = values.DeleteElements(new List<int>() { 2, 3 });
Assert.Exact(expected, actual);
Есть ли что-то вроде этого?
xUnit. Сеть распознает наборы, таким образом, просто необходимо сделать
Assert.Equal(expected, actual); // Order is important
, Вы видите другие доступные утверждения набора в CollectionAsserts.cs
Для [1 113], методы сравнения набора библиотеки NUnit
CollectionAssert.AreEqual(IEnumerable, IEnumerable) // For sequences, order matters
и
CollectionAssert.AreEquivalent(IEnumerable, IEnumerable) // For sets, order doesn't matter
[еще 1110] детали здесь: CollectionAssert
MbUnit также имеет утверждения набора, подобные NUnit: Утверждают. Collections.cs
В текущей версии XUnit (1.5) вы можете просто использовать
Assert.Equal (ожидаемый, фактический);
Вышеупомянутый метод будет выполнять поэлементное сравнение два списка. Я не уверен, работает ли это с какой-либо предыдущей версией.