From b452b7b2300a013d13ba4ce9d7383b60b95d91d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20Swe=C3=B1a?= Date: Mon, 8 Dec 2025 22:29:22 +0000 Subject: [PATCH] chore: fix unit tests on pandas 3.0 --- bigframes/operations/datetimes.py | 2 +- tests/unit/test_local_data.py | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/bigframes/operations/datetimes.py b/bigframes/operations/datetimes.py index 1d79afd97f..c259dd018e 100644 --- a/bigframes/operations/datetimes.py +++ b/bigframes/operations/datetimes.py @@ -25,7 +25,7 @@ from bigframes.core import log_adapter import bigframes.operations as ops -_ONE_DAY = pandas.Timedelta("1d") +_ONE_DAY = pandas.Timedelta("1D") _ONE_SECOND = pandas.Timedelta("1s") _ONE_MICRO = pandas.Timedelta("1us") _SUPPORTED_FREQS = ("Y", "Q", "M", "W", "D", "h", "min", "s", "ms", "us") diff --git a/tests/unit/test_local_data.py b/tests/unit/test_local_data.py index 6f23036efb..1537c896fb 100644 --- a/tests/unit/test_local_data.py +++ b/tests/unit/test_local_data.py @@ -44,6 +44,12 @@ def test_local_data_well_formed_round_trip(): local_entry = local_data.ManagedArrowTable.from_pandas(pd_data) result = pd.DataFrame(local_entry.itertuples(), columns=pd_data.columns) + result = result.assign( + **{ + col: result[col].astype(pd_data_normalized[col].dtype) + for col in pd_data_normalized.columns + } + ) pandas.testing.assert_frame_equal(pd_data_normalized, result, check_dtype=False) @@ -118,6 +124,12 @@ def test_local_data_well_formed_round_trip_chunked(): as_rechunked_pyarrow = pa.Table.from_batches(pa_table.to_batches(max_chunksize=2)) local_entry = local_data.ManagedArrowTable.from_pyarrow(as_rechunked_pyarrow) result = pd.DataFrame(local_entry.itertuples(), columns=pd_data.columns) + result = result.assign( + **{ + col: result[col].astype(pd_data_normalized[col].dtype) + for col in pd_data_normalized.columns + } + ) pandas.testing.assert_frame_equal(pd_data_normalized, result, check_dtype=False) @@ -126,6 +138,12 @@ def test_local_data_well_formed_round_trip_sliced(): as_rechunked_pyarrow = pa.Table.from_batches(pa_table.slice(0, 4).to_batches()) local_entry = local_data.ManagedArrowTable.from_pyarrow(as_rechunked_pyarrow) result = pd.DataFrame(local_entry.itertuples(), columns=pd_data.columns) + result = result.assign( + **{ + col: result[col].astype(pd_data_normalized[col].dtype) + for col in pd_data_normalized.columns + } + ) pandas.testing.assert_frame_equal( pd_data_normalized[0:4].reset_index(drop=True), result.reset_index(drop=True),