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 классы и подклассы.

Другие вопросы по тегам