Можно ли получить доступ к параметру, используемому для вызова ложного ожидания при сборке объекта Returns?
Вот заглушка для задействованных объектов, и, учитывая это, я пытаюсь смоделировать коллекцию:
Class CollectionValue {
public Id { get; set; }
}
Class Collection {
private List<CollectionValue> AllValues { get; set; }
public List<CollectionValue> GetById(List<int> ids) {
return AllValues.Where(v => ids.Contains(v.Id));
}
}
Учитывая тестовый список CollectionValues, который будет использоваться для смоделированного объекта, как можно настроить ожидание, которое будет обрабатывать все возможные перестановки идентификаторов в этом списке CollectionValues, включая вызовы, объединяющие существующие идентификаторы и не существующие идентификаторы? Моя проблема возникает из-за желания настроить все возможные ожидания одним вызовом; если доступ к исходному параметру невозможен, я с такой же легкостью могу установить точное ожидание, которое я хочу проверять в каждом вызове каждый раз.
Вот что я надеялся сделать, где "???" представляет, где было бы удобно иметь доступ к параметру, используемому для вызова GetById (тот, который квалифицировал ограничение It.IsAny):
CollectionMock.Expect(c => c.GetById(It.IsAny<List<int>>())).Returns(???);