Свойство - это не что иное, как метод get и set. Если вы присваиваете значение для вашего смоделированного экземпляра, вы просто используете setter -метод, который никоим образом не связан с getter-методом . Итак, по ошибке Mock создайте для вас класс, подобный следующему:
class TheMockClass : IDataLoader
{
CustomCollection get_ItemsToBeProcessed { return whatever; }
void set_ItemsToBeProcessed { }
}
если вы назначите что-то экземпляру этого класса, ничего не произойдет, так как сеттер абсолютно ничего не делает (не уверен насчет конкретных внутренних элементов, но важно то, что даже если сеттер что-то делает, он не имеет ничего общего с тем, что используется в геттере).
Вы видите, что, когда насмехаются над этими двумя методами, они не имеют ничего общего. Так что вам придется синхронно издеваться. Однако обычно достаточно смоделировать от getter до возврата вашего значения, так как вы просто используете значение, которое высмеивается, а не set это.
mokedAmplifier.Setup(_ => _.ItemsToBeProcessed).Returns(new CustomCollection());