improve formatting in assertEquals

This commit is contained in:
Timothee Cour 2019-01-12 15:51:44 -08:00
commit e17321aa24
2 changed files with 19 additions and 18 deletions

View file

@ -14,8 +14,8 @@ proc mismatch*[T](lhs: T, rhs: T): string =
proc quoted(s: string): string = result.addQuoted s
result.add "\n"
result.add "lhs:{\n" & replaceInvisible(
$lhs) & "}\nrhs:{\n" & replaceInvisible($rhs) & "}\n"
result.add "lhs:{" & replaceInvisible(
$lhs) & "}\nrhs:{" & replaceInvisible($rhs) & "}\n"
when compiles(lhs.len):
if lhs.len != rhs.len:
result.add "lhs.len: " & $lhs.len & " rhs.len: " & $rhs.len & "\n"
@ -26,12 +26,13 @@ proc mismatch*[T](lhs: T, rhs: T): string =
i.inc
result.add "first mismatch index: " & $i & "\n"
if i < lhs.len and i < rhs.len:
result.add "lhs[i]: {" & quoted($lhs[i]) & "} rhs[i]: {" & quoted(
$rhs[i]) & "}"
result.add "lhs[0..<i]:{\n" & replaceInvisible($lhs[
0..<i]) & "}\nrhs[0..<i]:{\n" & replaceInvisible($rhs[0..<i]) & "}"
result.add "lhs[i]: {" & quoted($lhs[i]) & "}\nrhs[i]: {" & quoted(
$rhs[i]) & "}\n"
result.add "lhs[0..<i]:{" & replaceInvisible($lhs[
0..<i]) & "}"
proc assertEquals*[T](lhs: T, rhs: T) =
when false: # can be useful for debugging to see all that's fed to this.
echo "----" & $lhs
doAssert lhs==rhs, mismatch(lhs, rhs)
if lhs!=rhs:
doAssert false, mismatch(lhs, rhs)