conftest.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import numpy as np
  2. import pytest
  3. from pandas.compat import long, lzip
  4. import pandas as pd
  5. from pandas.core.indexes.api import Index, MultiIndex
  6. import pandas.util.testing as tm
  7. @pytest.fixture(params=[tm.makeUnicodeIndex(100),
  8. tm.makeStringIndex(100),
  9. tm.makeDateIndex(100),
  10. tm.makePeriodIndex(100),
  11. tm.makeTimedeltaIndex(100),
  12. tm.makeIntIndex(100),
  13. tm.makeUIntIndex(100),
  14. tm.makeRangeIndex(100),
  15. tm.makeFloatIndex(100),
  16. Index([True, False]),
  17. tm.makeCategoricalIndex(100),
  18. Index([]),
  19. MultiIndex.from_tuples(lzip(
  20. ['foo', 'bar', 'baz'], [1, 2, 3])),
  21. Index([0, 0, 1, 1, 2, 2])],
  22. ids=lambda x: type(x).__name__)
  23. def indices(request):
  24. return request.param
  25. @pytest.fixture(params=[1, np.array(1, dtype=np.int64)])
  26. def one(request):
  27. # zero-dim integer array behaves like an integer
  28. return request.param
  29. zeros = [box([0] * 5, dtype=dtype)
  30. for box in [pd.Index, np.array]
  31. for dtype in [np.int64, np.uint64, np.float64]]
  32. zeros.extend([np.array(0, dtype=dtype)
  33. for dtype in [np.int64, np.uint64, np.float64]])
  34. zeros.extend([0, 0.0, long(0)])
  35. @pytest.fixture(params=zeros)
  36. def zero(request):
  37. # For testing division by (or of) zero for Index with length 5, this
  38. # gives several scalar-zeros and length-5 vector-zeros
  39. return request.param