use of actor4j.core.messages.ActorMessage in project actor4j-core by relvaner.
the class MatcherFeature method before.
@Before
public void before() {
matcher = new ActorMessageMatcher();
matcher.match(-5, new Consumer<ActorMessage<?>>() {
@Override
public void accept(ActorMessage<?> message) {
postconditions[0] = message.tag;
}
}).matchAny(new Consumer<ActorMessage<?>>() {
@Override
public void accept(ActorMessage<?> message) {
postconditions[1] = message.tag;
}
}).match(15, new Consumer<ActorMessage<?>>() {
@Override
public void accept(ActorMessage<?> message) {
postconditions[0] = message.tag;
}
}).matchElse(new Consumer<ActorMessage<?>>() {
@Override
public void accept(ActorMessage<?> message) {
postconditions[0] = message.tag;
}
}).match(String.class, new Consumer<ActorMessage<?>>() {
@Override
public void accept(ActorMessage<?> message) {
postconditions[0] = 1976;
}
}).match(String.class, new Predicate<ActorMessage<?>>() {
@Override
public boolean test(ActorMessage<?> message) {
return message.valueAsString().equals("Hello World!");
}
}, new Consumer<ActorMessage<?>>() {
@Override
public void accept(ActorMessage<?> message) {
postconditions[0] = 1976 + 1;
}
}).match(17, new Consumer<ActorMessage<?>>() {
@Override
public void accept(ActorMessage<?> message) {
postconditions[0] = message.tag;
}
});
}
use of actor4j.core.messages.ActorMessage in project actor4j-core by relvaner.
the class ActorMessageMatcher method match.
public ActorMessageMatcher match(final UUID[] sources, final int tag, Consumer<ActorMessage<?>> action) {
checkAction(action);
MatchTuple tuple = new MatchTuple();
tuple.predicate = new Predicate<ActorMessage<?>>() {
@Override
public boolean test(ActorMessage<?> message) {
boolean result = false;
if (message.tag == tag)
for (UUID source : sources) if (message.source.equals(source)) {
result = true;
break;
}
return result;
}
};
tuple.action = action;
matches.add(tuple);
return this;
}
Aggregations