From 466090c38a24bd53c8d9a524f1eb33026d5687cb Mon Sep 17 00:00:00 2001 From: David Hotham Date: Sun, 27 Nov 2022 11:52:52 +0000 Subject: [PATCH] additional testcases --- tests/version/test_markers.py | 42 ++++++++++++++++++++++++++++------- 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/tests/version/test_markers.py b/tests/version/test_markers.py index 1afec3714..345dca1e6 100644 --- a/tests/version/test_markers.py +++ b/tests/version/test_markers.py @@ -1311,14 +1311,40 @@ def test_single_markers_are_found_in_complex_intersection() -> None: ) -def test_empty_marker_is_found_in_complex_intersection() -> None: - m1 = parse_marker( - '(platform_system != "Windows" or platform_machine != "x86") and python_version' - ' == "3.8"' - ) - m2 = parse_marker('platform_system == "Windows" and platform_machine == "x86"') - intersection = m1.intersect(m2) - assert intersection.is_empty() +@pytest.mark.parametrize( + "marker1, marker2", + [ + ( + ( + '(platform_system != "Windows" or platform_machine != "x86") and' + ' python_version == "3.8"' + ), + 'platform_system == "Windows" and platform_machine == "x86"', + ), + # Following example via + # https://github.com/python-poetry/poetry-plugin-export/issues/163 + ( + ( + 'python_version >= "3.8" and python_version < "3.11" and' + ' (python_version > "3.9" or platform_system != "Windows" or' + ' platform_machine != "x86") or python_version >= "3.11" and' + ' python_version < "3.12"' + ), + ( + 'python_version == "3.8" and platform_system == "Windows" and' + ' platform_machine == "x86" or python_version == "3.9" and' + ' platform_system == "Windows" and platform_machine == "x86"' + ), + ), + ], +) +def test_empty_marker_is_found_in_complex_intersection( + marker1: str, marker2: str +) -> None: + m1 = parse_marker(marker1) + m2 = parse_marker(marker2) + assert m1.intersect(m2).is_empty() + assert m2.intersect(m1).is_empty() @pytest.mark.parametrize(