Some minor errors
Ich hab mir den neuen IOTest mal ein bisschen angeschaut (noch keineswegs intensiver getestet) und mir sind folgende Sachen aufgefallen:
-
private String formatDebugHint(String formatString, String defaultFormatString, List conversationDebugHint, String lastIOSequence, String lastLine, LF withLineFeed) { ... }
String lastLineInfo wird mit Information über LineFeed befüllt, aber beim return Stmt wird dann stattdessen wieder lastLine übergeben.
-
Aufruf von formatDebugHint(....) ist nicht konsistent:
In Zeile 420: formatDebugHint(..., "After conversation \n %1
s we expected %3
s" + expectedOutput + " but got '%2$s'", conversationDebugHint, expectedOutput, realOutput, ...)In Zeile 427: formatDebugHint(..., "After conversation \n %1
s we expected %3
s" + " but got '%2$s'", conversationDebugHint, expectedOutput, realOutput, ...)In Zeile 435: formatDebugHint(..., "Expected was line %2
s after %1
s. Result was the String %3$s.", conversationDebugHint, expectedOutput, realOutput, ...)In Zeile 472: formatDebugHint(..., "After conversation \n %1
s we expected %3
s" + " but got '%2$s'", conversationDebugHint, outputPattern.pattern(), realOutput, ...)In Zeile 481: formatDebugHint(..., "The test expected a line according to '%2
s' after %1
s. Result was %3$s ", conversationDebugHint, outputPattern.pattern(), realOutput, ...)2.1 Im ersten Beispiel (420): gehört das expectedOutput in die Message?
2.2 Expected müsste immer %2
s sein und realOutput immer %3
sein2.3 Würde es nicht auch Sinn machen, den Parameter in den beiden formatDebugHint() Methoden von 'lastIOSequence' auf irgendetwas wie 'expectedOutput' umzubenennen?
2.4 Bei den default-messages sind noch ein paar Leerzeichen, die man rauslöschen könnte:
"After conversation \n%1$swe expected %2$s" + " but got '%3$s'" (mit bereits geändertem Parameter)
-
Beschreibung (comment) in ioTests.json passt auch nicht:
format:
1: complete IO-sequence
2: last read line (sollte 'expected' sein)
3: last expected (sollte 'last read line')
Liebe Grüße
Manuel