Moq - Проверить вызов метода, который имеет параметры value

Я пытаюсь проверить с помощью Moq, что вызывается метод, у которого есть список параметров, но по какой-то причине это не удается. Сигнатура метода выглядит примерно так:

void AttachAsModifiedToOrders(IOrder order, params 
       Expression<Func<IOrder, object>>[] modifiedProperties);

Затем в настройке Mock я сделал что-то вроде этого, чтобы выполнить простое «удаление / вставку» из имитируемой коллекции:

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));

I ' ve проверил, и код выполняется нормально, и метод вызывается (фиктивный), но проверка не выполняется. я что-то пропустил? или просто этот вызов "params" не поддерживается Moq?

12
задан Liam - Reinstate Monica 19 June 2013 в 13:59
поделиться