MCPcopy
hub / github.com/pytest-dev/pytest / _compare_approx

Function _compare_approx

src/_pytest/python_api.py:24–47  ·  view source on GitHub ↗
(
    full_object: object,
    message_data: Sequence[tuple[str, str, str]],
    number_of_elements: int,
    different_ids: Sequence[object],
    max_abs_diff: float,
    max_rel_diff: float,
)

Source from the content-addressed store, hash-verified

22
23
24def _compare_approx(
25 full_object: object,
26 message_data: Sequence[tuple[str, str, str]],
27 number_of_elements: int,
28 different_ids: Sequence[object],
29 max_abs_diff: float,
30 max_rel_diff: float,
31) -> list[str]:
32 message_list = list(message_data)
33 message_list.insert(0, ("Index", "Obtained", "Expected"))
34 max_sizes = [0, 0, 0]
35 for index, obtained, expected in message_list:
36 max_sizes[0] = max(max_sizes[0], len(index))
37 max_sizes[1] = max(max_sizes[1], len(obtained))
38 max_sizes[2] = max(max_sizes[2], len(expected))
39 explanation = [
40 f"comparison failed. Mismatched elements: {len(different_ids)} / {number_of_elements}:",
41 f"Max absolute difference: {max_abs_diff}",
42 f"Max relative difference: {max_rel_diff}",
43 ] + [
44 f"{indexes:<{max_sizes[0]}} | {obtained:<{max_sizes[1]}} | {expected:<{max_sizes[2]}}"
45 for indexes, obtained, expected in message_list
46 ]
47 return explanation
48
49
50# builtin pytest.approx helper

Callers 3

_repr_compareMethod · 0.85
_repr_compareMethod · 0.85
_repr_compareMethod · 0.85

Calls 1

insertMethod · 0.80

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…