signal method
Validates a signal against test rules
Implementation
@override
bool signal(Signal signal, {C? cell}) {
final checked = Set<TestRule>.identity();
bool process(TestRule rule) {
if (rule is TestObject<C>) {
for (var r in rule) {
if (process(r) == false) {
return false;
}
}
}
if (rule is TestSignalRule<C> && checked.add(rule)) {
try {
if (rule.signal(signal, cell: cell) == false) {
return false;
}
} catch(_) {}
}
return true;
}
return process(this);
}