Question

Est-il possible de demander Mockolate aux événements de liaison d'expédition?

Par exemple, étant donné cette classe:

class Person {
    [Bindable]
    public var name:String;
}

Je voudrais la maquette:

var mockPerson:Person = nice(Person);

Pour envoyer une propertyChangeEvent lorsque le champ name est le changement.

Était-ce utile?

La solution

Comme vous l'avez mentionné des événements de liaison sont des instances de PropertyChangeEvent, il suffit de créer une instance en utilisant PropertyChangeEvent.createUpdateEvent() et l'utilisation qui avec .dispatches().

comme ceci:

mock(person).setter("name").arg(anything())
    .dispatches(PropertyChangeEvent.createUpdateEvent(person, "name", oldValue, newValue));

Notez cependant que le oldValue et newValue devront être fournis.

Je vois le mérite à faire un raccourci pour ce scénario car la liaison est fortement utilisé. La seule partie délicate est de garder la valeur précédente.

Si vous vouliez aborder la mise en œuvre vous-même, je suggère de regarder les cours de Answer et Decorator et sous-classes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top