| 
200
201
202
203
204
205
206
207
208209
210
211
212
213
214
215
216
217
218
219
220 | 
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
 | 
-
+
+
-
-
-
-
-
+
+
+
+
+
+
+
 | 
                              "\n  expected: " + sExceptedSuggs + \
                              "\n  found:    " + sFoundSuggs + \
                              "\n  errors:   \n" + sListErr)
                        nError += 1
            if nError:
                print("Unexpected errors:", nError)
        # untested rules
        aUntestedRules = set()
        for _, sOpt, sLineId, sRuleId in gce.listRules():
            sRuleId = sRuleId.rstrip("0123456789")i = 0            if sOpt != "@@@@" and sRuleIdif sOpt != "@@@@" and sRuleId not in self._aTestedRules and not re.search("^[0-9]+[sp]$|^[pd]_", sRuleId):
                aUntestedRules.add(f"{sLineId}/{sRuleId}")
        if aUntestedRules:
            print()
            for sRule in aUntestedRules:
                echo(sRule)
            echo("  [{} untested rules]".format(len(aUntestedRules)))
    def _splitTestLine (self, sLine):
        sText, sSugg = sLine.split("->>")
        return (sText.strip(), sSugg.strip())
    def _getFoundErrors (self, sLine, sOption):
        if sOption:.rstrip("0123456789")not in self._aTestedRules and not re.search("^[0-9]+[sp]$|^[pd]_", sRuleId):echo(f"# untested rule: {sLineId}/{sRuleId}")    i += 1if i:
            echo("  [{} untested rules]".format(i)) |