|
12 | 12 | from pytest_unordered import UnorderedList
|
13 | 13 | from pytest_unordered import _compare_eq_unordered
|
14 | 14 | from pytest_unordered import unordered
|
| 15 | +from pytest_unordered import unordered_deep |
15 | 16 |
|
16 | 17 |
|
17 | 18 | @pytest.mark.parametrize(
|
@@ -255,3 +256,21 @@ def test_mock_any() -> None:
|
255 | 256 | assert p_unordered == test_1
|
256 | 257 | assert p_unordered == test_2
|
257 | 258 | assert p_unordered == test_3
|
| 259 | + |
| 260 | + |
| 261 | +@pytest.mark.parametrize( |
| 262 | + ["expected", "actual"], |
| 263 | + [ |
| 264 | + (unordered_deep([1, 2, 3]), [3, 2, 1]), |
| 265 | + (unordered_deep((1, 2, 3)), (3, 2, 1)), |
| 266 | + (unordered_deep({1, 2, 3}), {3, 2, 1}), |
| 267 | + (unordered_deep([1, 2, {"a": (4, 5, 6)}]), [{"a": [6, 5, 4]}, 2, 1]), # fmt: skip |
| 268 | + (unordered_deep([{1: (["a", "b"])}, 2, 3]), [3, 2, {1: ["b", "a"]}]), # fmt: skip |
| 269 | + (unordered_deep(("a", "b", "c")), ["b", "a", "c"]), |
| 270 | + ], |
| 271 | +) |
| 272 | +def test_unordered_deep(expected: UnorderedList, actual: Iterable) -> None: |
| 273 | + assert expected == actual |
| 274 | + assert actual == expected |
| 275 | + assert not (expected != actual) |
| 276 | + assert not (actual != expected) |
0 commit comments