1import numpy as np
2import pytest
3
4import pandas as pd
5from pandas.core.arrays.floating import Float32Dtype, Float64Dtype
6
7
8@pytest.fixture(params=[Float32Dtype, Float64Dtype])
9def dtype(request):
10    return request.param()
11
12
13@pytest.fixture
14def data(dtype):
15    return pd.array(
16        list(np.arange(0.1, 0.9, 0.1))
17        + [pd.NA]
18        + list(np.arange(1, 9.8, 0.1))
19        + [pd.NA]
20        + [9.9, 10.0],
21        dtype=dtype,
22    )
23
24
25@pytest.fixture
26def data_missing(dtype):
27    return pd.array([np.nan, 0.1], dtype=dtype)
28
29
30@pytest.fixture(params=["data", "data_missing"])
31def all_data(request, data, data_missing):
32    """Parametrized fixture giving 'data' and 'data_missing'"""
33    if request.param == "data":
34        return data
35    elif request.param == "data_missing":
36        return data_missing
37