Mockolate: отправка обязательных событий?
Можно ли попросить Mockolate отправить обязательные события?
Например, учитывая этот класс:
class Person {
[Bindable]
public var name:String;
}
Я хотел бы издеваться:
var mockPerson:Person = nice(Person);
Чтобы отправить propertyChangeEvent
когда name
поле изменить.
1 ответ
Решение
Как вы упомянули, связывающие события являются примерами PropertyChangeEvent
просто создайте экземпляр используя PropertyChangeEvent.createUpdateEvent()
и использовать это с .dispatches()
,
Вот так:
mock(person).setter("name").arg(anything())
.dispatches(PropertyChangeEvent.createUpdateEvent(person, "name", oldValue, newValue));
Обратите внимание, что oldValue
а также newValue
нужно будет поставить.
Я вижу смысл в том, чтобы создать ярлык для этого сценария, поскольку интенсивно используется привязка. Единственная сложность - сохранить предыдущее значение.
Если вы хотите заняться внедрением этого самостоятельно, я предлагаю посмотреть на Answer
а также Decorator
классы и подклассы.