test_api.py 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. """
  2. Tests for the pseudo-public API implemented in internals/api.py and exposed
  3. in core.internals
  4. """
  5. import pandas as pd
  6. from pandas.core import internals
  7. from pandas.core.internals import api
  8. def test_internals_api():
  9. assert internals.make_block is api.make_block
  10. def test_namespace():
  11. # SUBJECT TO CHANGE
  12. modules = [
  13. "blocks",
  14. "concat",
  15. "managers",
  16. "construction",
  17. "array_manager",
  18. "base",
  19. "api",
  20. "ops",
  21. ]
  22. expected = [
  23. "Block",
  24. "NumericBlock",
  25. "DatetimeTZBlock",
  26. "ExtensionBlock",
  27. "ObjectBlock",
  28. "make_block",
  29. "DataManager",
  30. "ArrayManager",
  31. "BlockManager",
  32. "SingleDataManager",
  33. "SingleBlockManager",
  34. "SingleArrayManager",
  35. "concatenate_managers",
  36. "create_block_manager_from_blocks",
  37. ]
  38. result = [x for x in dir(internals) if not x.startswith("__")]
  39. assert set(result) == set(expected + modules)
  40. def test_make_block_2d_with_dti():
  41. # GH#41168
  42. dti = pd.date_range("2012", periods=3, tz="UTC")
  43. blk = api.make_block(dti, placement=[0])
  44. assert blk.shape == (1, 3)
  45. assert blk.values.shape == (1, 3)