From 0f63d41e8406eee963e5750b73a9ffbfed843c66 Mon Sep 17 00:00:00 2001 From: pqzx Date: Wed, 16 Oct 2019 15:16:02 +1100 Subject: [PATCH 1/5] Fix mypy error in pandas\tests\indexes\interval\test_interval_tree.py --- pandas/tests/indexes/interval/test_interval_tree.py | 4 ++-- setup.cfg | 3 --- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/pandas/tests/indexes/interval/test_interval_tree.py b/pandas/tests/indexes/interval/test_interval_tree.py index 87f9eaa209277..9a0592b21e20c 100644 --- a/pandas/tests/indexes/interval/test_interval_tree.py +++ b/pandas/tests/indexes/interval/test_interval_tree.py @@ -154,14 +154,14 @@ def test_get_indexer_closed(self, closed, leaf_size): (np.array([0, 2, np.nan]), np.array([1, 3, np.nan]), False), ], ) - @pytest.mark.parametrize("order", map(list, permutations(range(3)))) + @pytest.mark.parametrize("order", map(lambda x: list(x), permutations(range(3)))) def test_is_overlapping(self, closed, order, left, right, expected): # GH 23309 tree = IntervalTree(left[order], right[order], closed=closed) result = tree.is_overlapping assert result is expected - @pytest.mark.parametrize("order", map(list, permutations(range(3)))) + @pytest.mark.parametrize("order", map(lambda x: list(x), permutations(range(3)))) def test_is_overlapping_endpoints(self, closed, order): """shared endpoints are marked as overlapping""" # GH 23309 diff --git a/setup.cfg b/setup.cfg index 55d25abde585c..9f51513035d4b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -175,9 +175,6 @@ ignore_errors=True [mypy-pandas.tests.indexes.interval.test_base] ignore_errors=True -[mypy-pandas.tests.indexes.interval.test_interval_tree] -ignore_errors=True - [mypy-pandas.tests.indexes.period.test_period] ignore_errors=True From e09936b099e7e1e18ba9025e068e0e18f20b5df5 Mon Sep 17 00:00:00 2001 From: pqzx Date: Wed, 16 Oct 2019 22:00:53 +1100 Subject: [PATCH 2/5] Make requested pr changes --- pandas/tests/indexes/interval/test_interval_tree.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pandas/tests/indexes/interval/test_interval_tree.py b/pandas/tests/indexes/interval/test_interval_tree.py index 9a0592b21e20c..b4518a0fb34a1 100644 --- a/pandas/tests/indexes/interval/test_interval_tree.py +++ b/pandas/tests/indexes/interval/test_interval_tree.py @@ -154,14 +154,20 @@ def test_get_indexer_closed(self, closed, leaf_size): (np.array([0, 2, np.nan]), np.array([1, 3, np.nan]), False), ], ) - @pytest.mark.parametrize("order", map(lambda x: list(x), permutations(range(3)))) + # https://github.com/python/mypy/issues/6697 + # error: Argument 1 to "map" has incompatible type "Type[List[Any]]"; + # expected "Callable[[Tuple[int, ...]], List[_T]]" + @pytest.mark.parametrize("order", map(list, permutations(range(3)))) # type: ignore def test_is_overlapping(self, closed, order, left, right, expected): # GH 23309 tree = IntervalTree(left[order], right[order], closed=closed) result = tree.is_overlapping assert result is expected - @pytest.mark.parametrize("order", map(lambda x: list(x), permutations(range(3)))) + # https://github.com/python/mypy/issues/6697 + # error: Argument 1 to "map" has incompatible type "Type[List[Any]]"; + # expected "Callable[[Tuple[int, ...]], List[_T]]" + @pytest.mark.parametrize("order", map(list, permutations(range(3)))) # type: ignore def test_is_overlapping_endpoints(self, closed, order): """shared endpoints are marked as overlapping""" # GH 23309 From 915e27020d1471ec4d8a0b34251ab2b258d8872d Mon Sep 17 00:00:00 2001 From: pqzx Date: Wed, 16 Oct 2019 22:05:55 +1100 Subject: [PATCH 3/5] Fix PEP 8 --- pandas/tests/indexes/interval/test_interval_tree.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pandas/tests/indexes/interval/test_interval_tree.py b/pandas/tests/indexes/interval/test_interval_tree.py index b4518a0fb34a1..52409987bf8b2 100644 --- a/pandas/tests/indexes/interval/test_interval_tree.py +++ b/pandas/tests/indexes/interval/test_interval_tree.py @@ -157,7 +157,7 @@ def test_get_indexer_closed(self, closed, leaf_size): # https://github.com/python/mypy/issues/6697 # error: Argument 1 to "map" has incompatible type "Type[List[Any]]"; # expected "Callable[[Tuple[int, ...]], List[_T]]" - @pytest.mark.parametrize("order", map(list, permutations(range(3)))) # type: ignore + @pytest.mark.parametrize("order", map(list, permutations(range(3)))) # type: ignore def test_is_overlapping(self, closed, order, left, right, expected): # GH 23309 tree = IntervalTree(left[order], right[order], closed=closed) @@ -167,7 +167,7 @@ def test_is_overlapping(self, closed, order, left, right, expected): # https://github.com/python/mypy/issues/6697 # error: Argument 1 to "map" has incompatible type "Type[List[Any]]"; # expected "Callable[[Tuple[int, ...]], List[_T]]" - @pytest.mark.parametrize("order", map(list, permutations(range(3)))) # type: ignore + @pytest.mark.parametrize("order", map(list, permutations(range(3)))) # type: ignore def test_is_overlapping_endpoints(self, closed, order): """shared endpoints are marked as overlapping""" # GH 23309 From 018acd7df61bae35dfc2db8d9bc03d36f089f2ac Mon Sep 17 00:00:00 2001 From: pqzx Date: Thu, 17 Oct 2019 17:12:17 +1100 Subject: [PATCH 4/5] Use list comprehension instead of map --- pandas/tests/indexes/interval/test_interval_tree.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/pandas/tests/indexes/interval/test_interval_tree.py b/pandas/tests/indexes/interval/test_interval_tree.py index 52409987bf8b2..ce83c0a1c2b70 100644 --- a/pandas/tests/indexes/interval/test_interval_tree.py +++ b/pandas/tests/indexes/interval/test_interval_tree.py @@ -154,20 +154,15 @@ def test_get_indexer_closed(self, closed, leaf_size): (np.array([0, 2, np.nan]), np.array([1, 3, np.nan]), False), ], ) - # https://github.com/python/mypy/issues/6697 - # error: Argument 1 to "map" has incompatible type "Type[List[Any]]"; - # expected "Callable[[Tuple[int, ...]], List[_T]]" - @pytest.mark.parametrize("order", map(list, permutations(range(3)))) # type: ignore + + @pytest.mark.parametrize("order", (list(x) for x in permutations(range(3)))) def test_is_overlapping(self, closed, order, left, right, expected): # GH 23309 tree = IntervalTree(left[order], right[order], closed=closed) result = tree.is_overlapping assert result is expected - # https://github.com/python/mypy/issues/6697 - # error: Argument 1 to "map" has incompatible type "Type[List[Any]]"; - # expected "Callable[[Tuple[int, ...]], List[_T]]" - @pytest.mark.parametrize("order", map(list, permutations(range(3)))) # type: ignore + @pytest.mark.parametrize("order", (list(x) for x in permutations(range(3)))) def test_is_overlapping_endpoints(self, closed, order): """shared endpoints are marked as overlapping""" # GH 23309 From 5665b1284c73389a6eb66ca1e103ee81cecb3e95 Mon Sep 17 00:00:00 2001 From: pqzx Date: Thu, 17 Oct 2019 21:26:03 +1100 Subject: [PATCH 5/5] Fix syntax error --- pandas/tests/indexes/interval/test_interval_tree.py | 1 - 1 file changed, 1 deletion(-) diff --git a/pandas/tests/indexes/interval/test_interval_tree.py b/pandas/tests/indexes/interval/test_interval_tree.py index ce83c0a1c2b70..85dac5ea35950 100644 --- a/pandas/tests/indexes/interval/test_interval_tree.py +++ b/pandas/tests/indexes/interval/test_interval_tree.py @@ -154,7 +154,6 @@ def test_get_indexer_closed(self, closed, leaf_size): (np.array([0, 2, np.nan]), np.array([1, 3, np.nan]), False), ], ) - @pytest.mark.parametrize("order", (list(x) for x in permutations(range(3)))) def test_is_overlapping(self, closed, order, left, right, expected): # GH 23309