|
25 | 25 | Generic, |
26 | 26 | TypeVar, |
27 | 27 | ) |
| 28 | +import warnings |
28 | 29 |
|
29 | 30 | import numpy as np |
30 | 31 | import pytest |
@@ -134,58 +135,61 @@ def shape(self): |
134 | 135 |
|
135 | 136 | # collect all objects to be tested for list-like-ness; use tuples of objects, |
136 | 137 | # whether they are list-like or not (special casing for sets), and their ID |
137 | | -ll_params = [ |
138 | | - ([1], True, "list"), |
139 | | - ([], True, "list-empty"), |
140 | | - ((1,), True, "tuple"), |
141 | | - ((), True, "tuple-empty"), |
142 | | - ({"a": 1}, True, "dict"), |
143 | | - ({}, True, "dict-empty"), |
144 | | - ({"a", 1}, "set", "set"), |
145 | | - (set(), "set", "set-empty"), |
146 | | - (frozenset({"a", 1}), "set", "frozenset"), |
147 | | - (frozenset(), "set", "frozenset-empty"), |
148 | | - (iter([1, 2]), True, "iterator"), |
149 | | - (iter([]), True, "iterator-empty"), |
150 | | - ((x for x in [1, 2]), True, "generator"), |
151 | | - ((_ for _ in []), True, "generator-empty"), |
152 | | - (Series([1]), True, "Series"), |
153 | | - (Series([], dtype=object), True, "Series-empty"), |
154 | | - # Series.str will still raise a TypeError if iterated |
155 | | - (Series(["a"]).str, True, "StringMethods"), |
156 | | - (Series([], dtype="O").str, True, "StringMethods-empty"), |
157 | | - (Index([1]), True, "Index"), |
158 | | - (Index([]), True, "Index-empty"), |
159 | | - (DataFrame([[1]]), True, "DataFrame"), |
160 | | - (DataFrame(), True, "DataFrame-empty"), |
161 | | - (np.ndarray((2,) * 1), True, "ndarray-1d"), |
162 | | - (np.array([]), True, "ndarray-1d-empty"), |
163 | | - (np.ndarray((2,) * 2), True, "ndarray-2d"), |
164 | | - (np.array([[]]), True, "ndarray-2d-empty"), |
165 | | - (np.ndarray((2,) * 3), True, "ndarray-3d"), |
166 | | - (np.array([[[]]]), True, "ndarray-3d-empty"), |
167 | | - (np.ndarray((2,) * 4), True, "ndarray-4d"), |
168 | | - (np.array([[[[]]]]), True, "ndarray-4d-empty"), |
169 | | - (np.array(2), False, "ndarray-0d"), |
170 | | - (MockNumpyLikeArray(np.ndarray((2,) * 1)), True, "duck-ndarray-1d"), |
171 | | - (MockNumpyLikeArray(np.array([])), True, "duck-ndarray-1d-empty"), |
172 | | - (MockNumpyLikeArray(np.ndarray((2,) * 2)), True, "duck-ndarray-2d"), |
173 | | - (MockNumpyLikeArray(np.array([[]])), True, "duck-ndarray-2d-empty"), |
174 | | - (MockNumpyLikeArray(np.ndarray((2,) * 3)), True, "duck-ndarray-3d"), |
175 | | - (MockNumpyLikeArray(np.array([[[]]])), True, "duck-ndarray-3d-empty"), |
176 | | - (MockNumpyLikeArray(np.ndarray((2,) * 4)), True, "duck-ndarray-4d"), |
177 | | - (MockNumpyLikeArray(np.array([[[[]]]])), True, "duck-ndarray-4d-empty"), |
178 | | - (MockNumpyLikeArray(np.array(2)), False, "duck-ndarray-0d"), |
179 | | - (1, False, "int"), |
180 | | - (b"123", False, "bytes"), |
181 | | - (b"", False, "bytes-empty"), |
182 | | - ("123", False, "string"), |
183 | | - ("", False, "string-empty"), |
184 | | - (str, False, "string-type"), |
185 | | - (object(), False, "object"), |
186 | | - (np.nan, False, "NaN"), |
187 | | - (None, False, "None"), |
188 | | -] |
| 138 | +with warnings.catch_warnings(): |
| 139 | + # suppress warning on "StringMethods-empty" with object dtype |
| 140 | + warnings.filterwarnings("ignore", ".str accessor on object dtype is deprecated") |
| 141 | + ll_params = [ |
| 142 | + ([1], True, "list"), |
| 143 | + ([], True, "list-empty"), |
| 144 | + ((1,), True, "tuple"), |
| 145 | + ((), True, "tuple-empty"), |
| 146 | + ({"a": 1}, True, "dict"), |
| 147 | + ({}, True, "dict-empty"), |
| 148 | + ({"a", 1}, "set", "set"), |
| 149 | + (set(), "set", "set-empty"), |
| 150 | + (frozenset({"a", 1}), "set", "frozenset"), |
| 151 | + (frozenset(), "set", "frozenset-empty"), |
| 152 | + (iter([1, 2]), True, "iterator"), |
| 153 | + (iter([]), True, "iterator-empty"), |
| 154 | + ((x for x in [1, 2]), True, "generator"), |
| 155 | + ((_ for _ in []), True, "generator-empty"), |
| 156 | + (Series([1]), True, "Series"), |
| 157 | + (Series([], dtype=object), True, "Series-empty"), |
| 158 | + # Series.str will still raise a TypeError if iterated |
| 159 | + (Series(["a"]).str, True, "StringMethods"), |
| 160 | + (Series([], dtype="O").str, True, "StringMethods-empty"), |
| 161 | + (Index([1]), True, "Index"), |
| 162 | + (Index([]), True, "Index-empty"), |
| 163 | + (DataFrame([[1]]), True, "DataFrame"), |
| 164 | + (DataFrame(), True, "DataFrame-empty"), |
| 165 | + (np.ndarray((2,) * 1), True, "ndarray-1d"), |
| 166 | + (np.array([]), True, "ndarray-1d-empty"), |
| 167 | + (np.ndarray((2,) * 2), True, "ndarray-2d"), |
| 168 | + (np.array([[]]), True, "ndarray-2d-empty"), |
| 169 | + (np.ndarray((2,) * 3), True, "ndarray-3d"), |
| 170 | + (np.array([[[]]]), True, "ndarray-3d-empty"), |
| 171 | + (np.ndarray((2,) * 4), True, "ndarray-4d"), |
| 172 | + (np.array([[[[]]]]), True, "ndarray-4d-empty"), |
| 173 | + (np.array(2), False, "ndarray-0d"), |
| 174 | + (MockNumpyLikeArray(np.ndarray((2,) * 1)), True, "duck-ndarray-1d"), |
| 175 | + (MockNumpyLikeArray(np.array([])), True, "duck-ndarray-1d-empty"), |
| 176 | + (MockNumpyLikeArray(np.ndarray((2,) * 2)), True, "duck-ndarray-2d"), |
| 177 | + (MockNumpyLikeArray(np.array([[]])), True, "duck-ndarray-2d-empty"), |
| 178 | + (MockNumpyLikeArray(np.ndarray((2,) * 3)), True, "duck-ndarray-3d"), |
| 179 | + (MockNumpyLikeArray(np.array([[[]]])), True, "duck-ndarray-3d-empty"), |
| 180 | + (MockNumpyLikeArray(np.ndarray((2,) * 4)), True, "duck-ndarray-4d"), |
| 181 | + (MockNumpyLikeArray(np.array([[[[]]]])), True, "duck-ndarray-4d-empty"), |
| 182 | + (MockNumpyLikeArray(np.array(2)), False, "duck-ndarray-0d"), |
| 183 | + (1, False, "int"), |
| 184 | + (b"123", False, "bytes"), |
| 185 | + (b"", False, "bytes-empty"), |
| 186 | + ("123", False, "string"), |
| 187 | + ("", False, "string-empty"), |
| 188 | + (str, False, "string-type"), |
| 189 | + (object(), False, "object"), |
| 190 | + (np.nan, False, "NaN"), |
| 191 | + (None, False, "None"), |
| 192 | + ] |
189 | 193 | objs, expected, ids = zip(*ll_params) |
190 | 194 |
|
191 | 195 |
|
|
0 commit comments