1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- import numpy as np
- import pytest
- from pandas import (
- Index,
- MultiIndex,
- )
- import pandas._testing as tm
- class TestIndexConstructor:
- # Tests for the Index constructor, specifically for cases that do
- # not return a subclass
- @pytest.mark.parametrize("value", [1, np.int64(1)])
- def test_constructor_corner(self, value):
- # corner case
- msg = (
- r"Index\(\.\.\.\) must be called with a collection of some "
- f"kind, {value} was passed"
- )
- with pytest.raises(TypeError, match=msg):
- Index(value)
- @pytest.mark.parametrize("index_vals", [[("A", 1), "B"], ["B", ("A", 1)]])
- def test_construction_list_mixed_tuples(self, index_vals):
- # see gh-10697: if we are constructing from a mixed list of tuples,
- # make sure that we are independent of the sorting order.
- index = Index(index_vals)
- assert isinstance(index, Index)
- assert not isinstance(index, MultiIndex)
- def test_constructor_cast(self):
- msg = "could not convert string to float"
- with pytest.raises(ValueError, match=msg):
- Index(["a", "b", "c"], dtype=float)
- @pytest.mark.parametrize("tuple_list", [[()], [(), ()]])
- def test_construct_empty_tuples(self, tuple_list):
- # GH #45608
- result = Index(tuple_list)
- expected = MultiIndex.from_tuples(tuple_list)
- tm.assert_index_equal(result, expected)
|