Вы используете следующее утверждение VerifySet:
mockView.VerifySet(v => v.Model = It.Is<GenInfo>(x => x != null));
, который в основном говорит "убедитесь, что я установил свойство Model с некоторым объектом GenInfo, который не является нулевым".
Затем вы устанавливаете свойство Model с нулевым объектом:
this.view.Model = null;
Конечно, утверждение неверно.
В вашем втором утверждении VerifySet
mockView.VerifySet(v => v.Model, Times.AtLeastOnce());
Вы говорите: "Утвердите, что свойство Model было установлено, с чем-либо , хотя бы один раз". Поскольку вы сделали Set (хотя и с нулем), конечно, утверждение проходит.
Я не думаю, что здесь есть какие-либо ошибки в поведении Мока.