remove internal string assert test

This commit is contained in:
Vindaar 2018-10-11 14:11:21 +02:00 committed by flyx
parent 06ddc9eb13
commit da9396a2f3
1 changed files with 8 additions and 21 deletions

View File

@ -96,30 +96,30 @@ proc constructObject*(s: var YamlStream, c: ConstructionContext,
constructScalarItem(s, item, BetterInt): constructScalarItem(s, item, BetterInt):
result = BetterInt(parseBiggestInt(item.scalarContent) + 1) result = BetterInt(parseBiggestInt(item.scalarContent) + 1)
template assertStringEqual(expected, actual: string, file = stdout) = template assertStringEqual(expected, actual: string) =
if expected != actual: if expected != actual:
# if they are unequal, walk through the strings and check each # if they are unequal, walk through the strings and check each
# character for a better error message # character for a better error message
if expected.len != actual.len: if expected.len != actual.len:
file.write "Expected and actual string's length differs.\n" echo "Expected and actual string's length differs.\n"
file.write "Expected length: ", expected.len, "\n" echo "Expected length: ", expected.len, "\n"
file.write "Actual length: ", actual.len, "\n" echo "Actual length: ", actual.len, "\n"
# check length up to smaller of the two strings # check length up to smaller of the two strings
for i in countup(0, min(expected.high, actual.high)): for i in countup(0, min(expected.high, actual.high)):
if expected[i] != actual[i]: if expected[i] != actual[i]:
file.write "string mismatch at character #", i, "(expected:\'", echo "string mismatch at character #", i, "(expected:\'",
expected[i], "\', was \'", actual[i], "\'):\n" expected[i], "\', was \'", actual[i], "\'):\n"
file.write "expected:\n", expected, "\nactual:\n", actual, "\n" echo "expected:\n", expected, "\nactual:\n", actual, "\n"
assert(false) assert(false)
# if we haven't raised an assertion error here, the problem is that # if we haven't raised an assertion error here, the problem is that
# one string is longer than the other # one string is longer than the other
let minInd = min(expected.len, actual.len) # len instead of high to continue let minInd = min(expected.len, actual.len) # len instead of high to continue
# after shorter string # after shorter string
if expected.high > actual.high: if expected.high > actual.high:
file.write "Expected continues with: '", expected[minInd .. ^1], "'" echo "Expected continues with: '", expected[minInd .. ^1], "'"
assert false assert false
else: else:
file.write "Actual continues with: '", actual[minInd .. ^1], "'" echo "Actual continues with: '", actual[minInd .. ^1], "'"
assert false assert false
template expectConstructionError(li, co: int, message: string, body: typed) = template expectConstructionError(li, co: int, message: string, body: typed) =
@ -142,19 +142,6 @@ proc newNode(v: string): ref Node =
let blockOnly = defineOptions(style=psBlockOnly) let blockOnly = defineOptions(style=psBlockOnly)
suite "Serialization": suite "Serialization":
test "Internal string assert":
let s1 = "foo"
let s2 = "foobar"
let fname = "dump.txt"
let f: File = open(fname, fmWrite)
try:
assertStringEqual(s1, s2, file=f)
except AssertionError:
discard
finally:
f.close()
removeFile(fname)
test "Load integer without fixed length": test "Load integer without fixed length":
var input = "-4247" var input = "-4247"
var result: int var result: int