Skip to content

Commit 7bd4a97

Browse files
committed
fix small bugs in assert formatting
* add | marker for input parameters * mark output better to separate visually from input parameters
1 parent 2b0afe1 commit 7bd4a97

File tree

1 file changed

+20
-26
lines changed

1 file changed

+20
-26
lines changed

src/scwidgets/check/_check.py

Lines changed: 20 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ def message(self) -> str:
318318
if len(self._inputs_parameters[i]) > 0:
319319
message += Formatter.color_assert_success(" for input\n")
320320

321-
message += "\n".join(
321+
input_parameters_message = "\n".join(
322322
[
323323
f" {Formatter.color_assert_info(param_name)}: "
324324
f"{param_value!r}"
@@ -327,57 +327,51 @@ def message(self) -> str:
327327
].items()
328328
]
329329
)
330+
if input_parameters_message != "":
331+
message += input_parameters_message
330332
else:
331333
message = Formatter.color_assert_failed(
332334
f"{self._assert_names[i]} failed",
333335
)
334-
if len(self._inputs_parameters[i]) > 0:
335-
message += Formatter.color_assert_failed(" for input\n")
336-
elif (isinstance(result, tuple) and len(result) == 3) or not (
336+
if len(self._inputs_parameters[i]) > 0 or not (
337337
self._suppress_assert_messages[i]
338338
):
339-
message += "\n"
339+
message += Formatter.color_assert_failed(" for\n")
340340

341-
message += "\n".join(
341+
input_parameters_message = "\n".join(
342342
[
343-
f" {Formatter.color_assert_info(param_name)}: "
343+
f" {Formatter.color_assert_info(param_name)}: "
344344
f"{param_value!r}"
345345
for param_name, param_value in self._inputs_parameters[
346346
i
347347
].items()
348348
]
349349
)
350+
assert_message = ""
351+
if input_parameters_message != "":
352+
assert_message += input_parameters_message
350353

354+
assert_result = ""
351355
if isinstance(result, tuple) and len(result) == 3:
352-
if len(self._inputs_parameters[i]) > 0:
353-
message += "\n"
356+
# Execution info
354357
tb = IPython.core.ultratb.VerboseTB()
355-
message = Formatter.color_assert_failed(
356-
f"{self._assert_names[i]} failed\n"
357-
)
358358
assert_result = tb.text(*result)
359-
assert_result = re.sub(
360-
r"(^)",
361-
r"\1" + f"{Formatter.color_assert_failed('|')} ",
362-
assert_result,
363-
flags=re.M,
364-
)
365-
message += assert_result
366359
elif not (self._suppress_assert_messages[i]):
367-
if len(self._inputs_parameters[i]) > 0:
368-
message += "\n"
369360
if hasattr(result, "message"):
370361
assert_result = f"{result.message()}"
371362
else:
372363
assert_result = f"{Formatter.color_assert_failed(result)}"
364+
if assert_result != "":
365+
assert_message += "\n" + assert_result
366+
if assert_message != "":
373367
# adds "| " to the beginning of each line
374-
assert_result = re.sub(
368+
assert_message = re.sub(
375369
r"(^)",
376370
r"\1" + f"{Formatter.color_assert_failed('|')} ",
377-
assert_result,
371+
assert_message,
378372
flags=re.M,
379373
)
380-
message += f"{assert_result}"
374+
message += f"{assert_message}"
381375
messages.append(message)
382376

383377
return "\n".join(messages)
@@ -459,8 +453,8 @@ def message(self) -> str:
459453
message = ""
460454
for i in range(len(self._parameter_indices)):
461455
message += (
462-
Formatter.color_assert_failed(f"output {self._parameter_indices[i]}: ")
463-
+ Formatter.color_assert_failed(f"{self._parameter_values[i]}\n")
456+
Formatter.color_assert_info(f"> output {self._parameter_indices[i]}: ")
457+
+ f"{self._parameter_values[i]}\n"
464458
+ Formatter.color_assert_failed(self._messages[i])
465459
)
466460
return message

0 commit comments

Comments
 (0)