Я новичок в Moq, и мне интересно, как я мог бы написать следующий тест, если свойство "Bounds" не объявлено виртуальным.
[TestMethod]
public void SettingSize_Sets_Bounds_ExactlyOnce()
{
// given
var mock = new Mock<Visual>();
var anonymSize = DrawingHelper.AnonymousSize();
// when
mock.Object.Size = anonymSize;
// then
mock.VerifySet(visual => visual.Bounds = new Rectangle(DrawingHelper.Origin(),anonymSize), Times.Once());
}
Чтобы обеспечить небольшой контекст, класс Visual реализует интерфейс IVIsual, в котором объявлено свойство Bounds.Поэтому я мог бы использовать интерфейс для создания объекта Mock, но я не понимаю, как мне следует изменить приведенный выше тест, чтобы все еще тестировать поведение конкретного реализатора IVisual (класс Visual).хотите убедиться, что когда установлено свойство Size, то также устанавливается не виртуальное свойство Bounds.
Возможно ли это с Moq?Если нет, то каковы рамки, которые позволили бы это?