Использование Moq для макетирования параметра конструктора Func <> и проверки его вызова дважды

Взял вопрос из этой статьи (Как сделать Func) и адаптировал его как ответ не правильный.

public class FooBar
{
    private Func __fooBarProxyFactory;

    public FooBar(Func fooBarProxyFactory)
    {
        _fooBarProxyFactory = fooBarProxyFactory;
    }

    public void Process() 
    {
        _fooBarProxyFactory();
        _fooBarProxyFactory();
    }
}

У меня есть необходимость издеваться над Func <> это передается как параметр конструктора, утверждая, что функция была вызвана дважды.

При попытке издеваться над функциейvar funcMock = new Mock(); Moq повышает и исключение, так как тип Func не является насмешливым.

Проблема в том, что без насмешки над функцией невозможно проверить, что функция была вызвана (n) раз.funcMock.Verify( (), Times.AtLeast(2));

Ответы на вопрос(3)

Ваш ответ на вопрос