Я пытаюсь проверить с помощью Moq, что метод, который имеет список "params", вызывается, но по какой-то причине это не работает. Подпись метода выглядит примерно так:
void AttachAsModifiedToOrders(IOrder order, params
Expression<Func<IOrder, object>>[] modifiedProperties);
Затем в настройке Mock я сделал что-то вроде этого, чтобы сделать простой "remove/insert" из изделенной коллекции:
MockEntities.Setup(n => n.AttachAsModifiedToOrders(It.IsAny<DataAccess.Order>()))
.Callback<IOrder, Expression<Func<IOrder, object>>[]>((order, expr) =>
{ Orders.Remove(Orders.Where(o => o.Id== order.Id).First());
Orders.Add((DataAccess.Order)order); });
Наконец, проверка:
MockEntities.Verify(x => x.AttachAsModifiedToOrders(It.IsAny<Order>(),
It.IsAny<Expression<Func<IOrder, object>>>()), Times.Exactly(1));
Я проверил, и код выполняет ok, и метод вызывается (издевается над ним), но проверка не выполняется. я что-то упускаю? или это просто, что этот вызов "params" не поддерживается Moq?