| 49 | ] |
| 50 | ) |
| 51 | def df(request): |
| 52 | data_type = request.param |
| 53 | |
| 54 | if data_type == "delims": |
| 55 | return DataFrame({"a": ['"a,\t"b|c', "d\tef`"], "b": ["hi'j", "k''lm"]}) |
| 56 | elif data_type == "utf8": |
| 57 | return DataFrame({"a": ["µasd", "Ωœ∑`"], "b": ["øπ∆˚¬", "œ∑`®"]}) |
| 58 | elif data_type == "utf16": |
| 59 | return DataFrame( |
| 60 | {"a": ["\U0001f44d\U0001f44d", "\U0001f44d\U0001f44d"], "b": ["abc", "def"]} |
| 61 | ) |
| 62 | elif data_type == "string": |
| 63 | return DataFrame( |
| 64 | np.array([f"i-{i}" for i in range(15)]).reshape(5, 3), columns=list("abc") |
| 65 | ) |
| 66 | elif data_type == "long": |
| 67 | max_rows = get_option("display.max_rows") |
| 68 | return DataFrame( |
| 69 | np.random.default_rng(2).integers(0, 10, size=(max_rows + 1, 3)), |
| 70 | columns=list("abc"), |
| 71 | ) |
| 72 | elif data_type == "nonascii": |
| 73 | return DataFrame({"en": "in English".split(), "es": "en español".split()}) |
| 74 | elif data_type == "colwidth": |
| 75 | _cw = get_option("display.max_colwidth") + 1 |
| 76 | return DataFrame( |
| 77 | np.array(["x" * _cw for _ in range(15)]).reshape(5, 3), columns=list("abc") |
| 78 | ) |
| 79 | elif data_type == "mixed": |
| 80 | return DataFrame( |
| 81 | { |
| 82 | "a": np.arange(1.0, 6.0) + 0.01, |
| 83 | "b": np.arange(1, 6).astype(np.int64), |
| 84 | "c": list("abcde"), |
| 85 | } |
| 86 | ) |
| 87 | elif data_type == "float": |
| 88 | return DataFrame(np.random.default_rng(2).random((5, 3)), columns=list("abc")) |
| 89 | elif data_type == "int": |
| 90 | return DataFrame( |
| 91 | np.random.default_rng(2).integers(0, 10, (5, 3)), columns=list("abc") |
| 92 | ) |
| 93 | else: |
| 94 | raise ValueError |
| 95 | |
| 96 | |
| 97 | @pytest.fixture |