My generic class takes a Func<T> parameter in constructor, and I want to test one of its methods which basically invoke the constructor parameter.  

I use Moq and in my test code is something like this:

```
[Fact]
public void Construct_EnsureInvokeFunction()
{
    _objectToTest=new TypeToTest<T>(It.IsAny<Func<T>>());
    _objectToTest.Construct();
    //here I want to ensure that the passed parameter is invoked
    //however since I can't mock Func<T>, I dont know how to verify 
    //whether Invoke method of Func<T> is triggered
}

```

One workaround that I can think is to wrap my Func<T> inside a new interface and create a method to wrap it's Invoke method, and then use Moq to mock the interface. However it doesn't seem effective.

Am I missing something? Any idea will be appreciated. 

Thanks,

Anton