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

Function _compare_approx

src/_pytest/python_api.py:24–47  ·  src/_pytest/python_api.py::_compare_approx
(
    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, (class="st">"Index", class="st">"Obtained", class="st">"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 fclass="st">"comparison failed. Mismatched elements: {len(different_ids)} / {number_of_elements}:",
41 fclass="st">"Max absolute difference: {max_abs_diff}",
42 fclass="st">"Max relative difference: {max_rel_diff}",
43 ] + [
44 fclass="st">"{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
50class="cm"># 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