|
11 | 11 | from datetime import datetime, date, timedelta, time
|
12 | 12 | import numpy as np
|
13 | 13 | import pytz
|
| 14 | +import pytest |
14 | 15 |
|
15 | 16 | import pandas as pd
|
16 | 17 | from pandas._libs import tslib, lib
|
@@ -66,6 +67,27 @@ def test_is_list_like():
|
66 | 67 | assert not inference.is_list_like(f)
|
67 | 68 |
|
68 | 69 |
|
| 70 | +@pytest.mark.parametrize('inner', [ |
| 71 | + [], [1], (1, ), (1, 2), {'a': 1}, set([1, 'a']), Series([1]), |
| 72 | + Series([]), Series(['a']).str, (x for x in range(5)) |
| 73 | +]) |
| 74 | +@pytest.mark.parametrize('outer', [ |
| 75 | + list, Series, np.array, tuple |
| 76 | +]) |
| 77 | +def test_is_nested_list_like_passes(inner, outer): |
| 78 | + result = outer([inner for _ in range(5)]) |
| 79 | + assert inference.is_list_like(result) |
| 80 | + |
| 81 | + |
| 82 | +@pytest.mark.parametrize('obj', [ |
| 83 | + 'abc', [], [1], (1,), ['a'], 'a', {'a'}, |
| 84 | + [1, 2, 3], Series([1]), DataFrame({"A": [1]}), |
| 85 | + ([1, 2] for _ in range(5)), |
| 86 | +]) |
| 87 | +def test_is_nested_list_like_fails(obj): |
| 88 | + assert not inference.is_nested_list_like(obj) |
| 89 | + |
| 90 | + |
69 | 91 | def test_is_dict_like():
|
70 | 92 | passes = [{}, {'A': 1}, Series([1])]
|
71 | 93 | fails = ['1', 1, [1, 2], (1, 2), range(2), Index([1])]
|
|
0 commit comments