Как мне указать, что параметр коллекции для смоделированного метода должен иметь ровно один элемент
Я устанавливаю ожидания для метода, который занимает один 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).