Эта ошибка означает, что вы пытаетесь подделать метод, который не объявлен как virtual .
Moq генерирует тип во время выполнения, чтобы иметь возможность подделать его, сгенерированный тип наследует исходный тип и переопределяет его виртуальные методы. Поскольку не виртуальные методы не могут быть переопределены (это спецификация языка, это не ограничение Moq), невозможно подделать эти методы.
В качестве решения вы можете обернуть класс, который вызывает событие, которое отправляет MouseButtonEventArgs , и передать собственный класс, который объявляет соответствующие методы как virtual . Я думаю, что это может быть небольшой проблемой в вашем случае, но это стоит попробовать.
Другим решением может быть использование изолированной среды, которая позволяет имитировать не виртуальные методы. Например, Typemock Isolator - это фреймворк, который может это сделать. Изолятор использует другой механизм, поэтому позволяет имитировать подобные методы.
Отказ от ответственности - я работаю в Typemock