У меня есть класс, который реализует INotifyPropertyChanged, и мне нужно проверить, правильно ли реализован этот интерфейс. Я хочу сделать это, используя объект Rhino Mock.
class MyClass : INotifyPropertyChanged
{
public int X
{
get => ...;
set => ... // should check if value changes and raise event PropertyChanged
}
}
Я хочу проверить, что при изменении значения X это событие PropertyChanged вызывается ровно один раз с соответствующими параметрами.
MyClass testObject = new MyClass();
// the mock:
PropertyChangedEventHandler a = MockRepository.GenerateMock<PropertyChangedEventHandler>();
testObject.PropertyChanged += a;
// expect that the mock will be called exactly once, with the proper parameters
a.Expect( (x) => ???)
.Repeat()
.Once();
// change X, and verify that the event handler has been called exactly once
testObject.X = testObject.X + 1;
a.VerifyAllExpectations(); ???
Я думаю, что я на правильном пути, но я не могу заставить его работать.