renderTable method

String renderTable()

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();
}