Take a look at https://github.com/Moq/moq4/wiki/Quickstart
Advanced Features
// implementing multiple interfaces in mock
var foo = new Mock();
var disposableFoo = foo.As();
// now IFoo mock also implements IDisposable :)
disposableFoo.Setup(df => df.Dispose());