Можно ли получить доступ к параметру, используемому для вызова ожидаемого посмешивания при сборке объекта Returns?
Вот заглушка для объектов, и, учитывая это, я пытаюсь издеваться над Collection:
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(???);