Как мне указать, что параметр коллекции для смоделированного метода должен иметь ровно один элемент

Я устанавливаю ожидания для метода, который занимает один IList<> параметр.

Как мне выразить в NMock3 следующее утверждение:

Method XX of the mock should be called exactly once with a list object that contains exactly one item.

Решение, которое я представляю, будет примерно таким:

theMock.Expects.One.Method(_ =>_XX(null)).With(***mystery-mocking-goes-here***);

1 ответ

Решение

Используйте Is.Match:

theMock.Expects.One.Method(_ =>_XX(null)).With(Is.Match<IList<string>>(l => l.Count == 1));

Объяснение для Ананта Раджу С

Если у вас есть метод для проверки _XX(T). В методе With вы должны передать объект T или совпадение. Is.Match создайте его и нуждайтесь в Предикате в качестве аргумента.

В этом примере предикат вернет true, если список содержит только один элемент (l.Count == 1).

Другие вопросы по тегам