renderTable method
A fixed-width table for humans, one row per rule.
Implementation
String renderTable() {
final buffer = StringBuffer()
..writeln(
'rule TP FP FN prec. recall fp/clean',
)
..writeln(
'--------------------------------------------------------------------',
);
for (final m in rules) {
buffer.writeln(
'${m.ruleId.padRight(30)} '
'${m.truePositives.toString().padLeft(2)} '
'${m.falsePositives.toString().padLeft(2)} '
'${m.falseNegatives.toString().padLeft(2)} '
'${m.precision.toStringAsFixed(2).padLeft(5)} '
'${m.recall.toStringAsFixed(2).padLeft(6)} '
'${m.fpRateOnClean.toStringAsFixed(2).padLeft(8)}',
);
}
return buffer.toString();
}