Merge 9d24ef71ef
into ac41898755
This commit is contained in:
commit
8c3c72167f
1
AUTHORS
1
AUTHORS
|
@ -318,6 +318,7 @@ Ondřej Súkup
|
|||
Oscar Benjamin
|
||||
Parth Patel
|
||||
Patrick Hayes
|
||||
Patrick Kenny
|
||||
Patrick Lannigan
|
||||
Paul Müller
|
||||
Paul Reece
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
Fixes issue where nested data structures of different types did not raise an error with ``approx``.
|
|
@ -376,7 +376,9 @@ class ApproxSequenceLike(ApproxBase):
|
|||
def _check_type(self) -> None:
|
||||
__tracebackhide__ = True
|
||||
for index, x in enumerate(self.expected):
|
||||
if isinstance(x, type(self.expected)):
|
||||
if (isinstance(x, Collection) or isinstance(x, Mapping)) and not isinstance(
|
||||
x, str
|
||||
):
|
||||
msg = "pytest.approx() does not support nested data structures: {!r} at index {}\n full sequence: {}"
|
||||
raise TypeError(msg.format(x, index, pprint.pformat(self.expected)))
|
||||
|
||||
|
|
|
@ -841,6 +841,9 @@ class TestApprox:
|
|||
"x, name",
|
||||
[
|
||||
pytest.param([[1]], "data structures", id="nested-list"),
|
||||
pytest.param([(1,)], "data structures", id="nested-list-tuple"),
|
||||
pytest.param([{1}], "data structures", id="nested-list-set"),
|
||||
pytest.param([{"key": 1}], "data structures", id="nested-list-dict"),
|
||||
pytest.param({"key": {"key": 1}}, "dictionaries", id="nested-dict"),
|
||||
],
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue