| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- """
- Tests for the pseudo-public API implemented in internals/api.py and exposed
- in core.internals
- """
- import pytest
- import pandas as pd
- import pandas._testing as tm
- from pandas.core import internals
- from pandas.core.internals import api
- def test_internals_api():
- assert internals.make_block is api.make_block
- def test_namespace():
- # SUBJECT TO CHANGE
- modules = [
- "blocks",
- "concat",
- "managers",
- "construction",
- "array_manager",
- "base",
- "api",
- "ops",
- ]
- expected = [
- "make_block",
- "DataManager",
- "ArrayManager",
- "BlockManager",
- "SingleDataManager",
- "SingleBlockManager",
- "SingleArrayManager",
- "concatenate_managers",
- ]
- result = [x for x in dir(internals) if not x.startswith("__")]
- assert set(result) == set(expected + modules)
- @pytest.mark.parametrize(
- "name",
- [
- "NumericBlock",
- "ObjectBlock",
- "Block",
- "ExtensionBlock",
- "DatetimeTZBlock",
- ],
- )
- def test_deprecations(name):
- # GH#55139
- msg = f"{name} is deprecated.* Use public APIs instead"
- with tm.assert_produces_warning(DeprecationWarning, match=msg):
- getattr(internals, name)
- if name not in ["NumericBlock", "ObjectBlock"]:
- # NumericBlock and ObjectBlock are not in the internals.api namespace
- with tm.assert_produces_warning(DeprecationWarning, match=msg):
- getattr(api, name)
- def test_make_block_2d_with_dti():
- # GH#41168
- dti = pd.date_range("2012", periods=3, tz="UTC")
- blk = api.make_block(dti, placement=[0])
- assert blk.shape == (1, 3)
- assert blk.values.shape == (1, 3)
- def test_create_block_manager_from_blocks_deprecated():
- # GH#33892
- # If they must, downstream packages should get this from internals.api,
- # not internals.
- msg = (
- "create_block_manager_from_blocks is deprecated and will be "
- "removed in a future version. Use public APIs instead"
- )
- with tm.assert_produces_warning(DeprecationWarning, match=msg):
- internals.create_block_manager_from_blocks
|