Path: blob/main/py-polars/tests/unit/series/test_item.py
8431 views
from __future__ import annotations12import datetime3import sys45import pytest67import polars as pl8910def test_series_item() -> None:11s = pl.Series("a", [1])12assert s.item() == 1131415def test_series_item_empty() -> None:16s = pl.Series("a", [])17with pytest.raises(ValueError):18s.item()192021def test_series_item_incorrect_shape() -> None:22s = pl.Series("a", [1, 2])23with pytest.raises(ValueError):24s.item()252627@pytest.fixture(scope="module")28def s() -> pl.Series:29return pl.Series("a", [1, 2])303132@pytest.mark.parametrize(("index", "expected"), [(0, 1), (1, 2), (-1, 2), (-2, 1)])33def test_series_item_with_index(index: int, expected: int, s: pl.Series) -> None:34assert s.item(index) == expected353637@pytest.mark.parametrize("index", [-10, 10])38def test_df_item_out_of_bounds(index: int, s: pl.Series) -> None:39with pytest.raises(IndexError, match="out of bounds"):40s.item(index)414243@pytest.mark.skipif(sys.version_info < (3, 14, 0), reason="Version specific error")44def test_series_item_out_of_range_date() -> None:45s = pl.Series([datetime.date(9999, 12, 31)]).dt.offset_by("1d")46with pytest.raises(ValueError, match="year must be in"):47s.item()484950