Skip to content

Commit f86ca63

Browse files
test: Make e2e tests pandas 3.0 compatible
1 parent f0ed9bc commit f86ca63

File tree

5 files changed

+352
-452
lines changed

5 files changed

+352
-452
lines changed

tests/system/small/operations/test_strings.py

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
import bigframes.dtypes as dtypes
2222
import bigframes.pandas as bpd
23-
from bigframes.testing.utils import assert_series_equal
23+
from bigframes.testing.utils import assert_frame_equal, assert_series_equal
2424

2525

2626
def test_find(scalars_dfs):
@@ -60,7 +60,7 @@ def test_str_contains(scalars_dfs, pat, case, flags, regex):
6060
pat, case=case, flags=flags, regex=regex
6161
)
6262

63-
pd.testing.assert_series_equal(
63+
assert_series_equal(
6464
pd_result,
6565
bf_result,
6666
)
@@ -78,7 +78,7 @@ def test_str_extract(scalars_dfs, pat):
7878
bf_result = bf_series.str.extract(pat).to_pandas()
7979
pd_result = scalars_pandas_df[col_name].str.extract(pat)
8080

81-
pd.testing.assert_frame_equal(
81+
assert_frame_equal(
8282
pd_result,
8383
bf_result,
8484
)
@@ -110,7 +110,7 @@ def test_str_replace(scalars_dfs, pat, repl, case, flags, regex):
110110
pat, repl=repl, case=case, flags=flags, regex=regex
111111
)
112112

113-
pd.testing.assert_series_equal(
113+
assert_series_equal(
114114
pd_result,
115115
bf_result,
116116
)
@@ -138,7 +138,7 @@ def test_str_startswith(scalars_dfs, pat):
138138
bf_result = bf_series.str.startswith(pat).to_pandas()
139139
pd_result = pd_series.str.startswith(pat)
140140

141-
pd.testing.assert_series_equal(pd_result, bf_result, check_dtype=False)
141+
assert_series_equal(pd_result, bf_result, check_dtype=False)
142142

143143

144144
@pytest.mark.parametrize(
@@ -163,7 +163,7 @@ def test_str_endswith(scalars_dfs, pat):
163163
bf_result = bf_series.str.endswith(pat).to_pandas()
164164
pd_result = pd_series.str.endswith(pat)
165165

166-
pd.testing.assert_series_equal(pd_result, bf_result, check_dtype=False)
166+
assert_series_equal(pd_result, bf_result, check_dtype=False)
167167

168168

169169
def test_len(scalars_dfs):
@@ -315,7 +315,7 @@ def test_isnumeric(weird_strings, weird_strings_pd):
315315
pd_result = weird_strings_pd.str.isnumeric()
316316
bf_result = weird_strings.str.isnumeric().to_pandas()
317317

318-
pd.testing.assert_series_equal(
318+
assert_series_equal(
319319
bf_result,
320320
pd_result.astype(pd.BooleanDtype())
321321
# the dtype here is a case of intentional diversion from pandas
@@ -327,7 +327,7 @@ def test_isalpha(weird_strings, weird_strings_pd):
327327
pd_result = weird_strings_pd.str.isalpha()
328328
bf_result = weird_strings.str.isalpha().to_pandas()
329329

330-
pd.testing.assert_series_equal(
330+
assert_series_equal(
331331
bf_result,
332332
pd_result.astype(pd.BooleanDtype())
333333
# the dtype here is a case of intentional diversion from pandas
@@ -341,7 +341,7 @@ def test_isdigit(weird_strings, weird_strings_pd):
341341
pd_result = weird_strings_pd.astype(object).str.isdigit()
342342
bf_result = weird_strings.str.isdigit().to_pandas()
343343

344-
pd.testing.assert_series_equal(
344+
assert_series_equal(
345345
bf_result,
346346
pd_result.astype(pd.BooleanDtype())
347347
# the dtype here is a case of intentional diversion from pandas
@@ -353,7 +353,7 @@ def test_isdecimal(weird_strings, weird_strings_pd):
353353
pd_result = weird_strings_pd.str.isdecimal()
354354
bf_result = weird_strings.str.isdecimal().to_pandas()
355355

356-
pd.testing.assert_series_equal(
356+
assert_series_equal(
357357
bf_result,
358358
pd_result.astype(pd.BooleanDtype())
359359
# the dtype here is a case of intentional diversion from pandas
@@ -365,7 +365,7 @@ def test_isalnum(weird_strings, weird_strings_pd):
365365
pd_result = weird_strings_pd.str.isalnum()
366366
bf_result = weird_strings.str.isalnum().to_pandas()
367367

368-
pd.testing.assert_series_equal(
368+
assert_series_equal(
369369
bf_result,
370370
pd_result.astype(pd.BooleanDtype())
371371
# the dtype here is a case of intentional diversion from pandas
@@ -377,7 +377,7 @@ def test_isspace(weird_strings, weird_strings_pd):
377377
pd_result = weird_strings_pd.str.isspace()
378378
bf_result = weird_strings.str.isspace().to_pandas()
379379

380-
pd.testing.assert_series_equal(
380+
assert_series_equal(
381381
bf_result,
382382
pd_result.astype(pd.BooleanDtype())
383383
# the dtype here is a case of intentional diversion from pandas
@@ -582,7 +582,7 @@ def test_str_zfill(weird_strings, weird_strings_pd):
582582
bf_result = weird_strings.str.zfill(5).to_pandas()
583583
pd_result = weird_strings_pd.str.zfill(5)
584584

585-
pd.testing.assert_series_equal(
585+
assert_series_equal(
586586
pd_result,
587587
bf_result,
588588
)

tests/system/small/operations/test_timedeltas.py

Lines changed: 26 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import pytest
2525

2626
from bigframes import dtypes
27+
from bigframes.testing.utils import assert_frame_equal, assert_series_equal
2728

2829

2930
@pytest.fixture(scope="module")
@@ -72,15 +73,11 @@ def temporal_dfs(session):
7273
def _assert_series_equal(actual: pd.Series, expected: pd.Series):
7374
"""Helper function specifically for timedelta testsing. Don't use it outside of this module."""
7475
if actual.dtype == dtypes.FLOAT_DTYPE:
75-
pandas.testing.assert_series_equal(
76-
actual, expected.astype("Float64"), check_index_type=False
77-
)
76+
assert_series_equal(actual, expected.astype("Float64"), check_index_type=False)
7877
elif actual.dtype == dtypes.INT_DTYPE:
79-
pandas.testing.assert_series_equal(
80-
actual, expected.astype("Int64"), check_index_type=False
81-
)
78+
assert_series_equal(actual, expected.astype("Int64"), check_index_type=False)
8279
else:
83-
pandas.testing.assert_series_equal(
80+
assert_series_equal(
8481
actual.astype("timedelta64[ns]"),
8582
expected.dt.floor("us"), # in BF the precision is microsecond
8683
check_index_type=False,
@@ -181,9 +178,7 @@ def test_timestamp_add__ts_series_plus_td_series(temporal_dfs, column, pd_dtype)
181178
)
182179

183180
expected_result = pd_df[column] + pd_df["timedelta_col_1"]
184-
pandas.testing.assert_series_equal(
185-
actual_result, expected_result, check_index_type=False
186-
)
181+
assert_series_equal(actual_result, expected_result, check_index_type=False)
187182

188183

189184
@pytest.mark.parametrize("column", ["datetime_col", "timestamp_col"])
@@ -212,9 +207,7 @@ def test_timestamp_add__ts_series_plus_td_literal(temporal_dfs, literal):
212207
)
213208

214209
expected_result = pd_df["timestamp_col"] + literal
215-
pandas.testing.assert_series_equal(
216-
actual_result, expected_result, check_index_type=False
217-
)
210+
assert_series_equal(actual_result, expected_result, check_index_type=False)
218211

219212

220213
@pytest.mark.parametrize(
@@ -232,9 +225,7 @@ def test_timestamp_add__td_series_plus_ts_series(temporal_dfs, column, pd_dtype)
232225
)
233226

234227
expected_result = pd_df["timedelta_col_1"] + pd_df[column]
235-
pandas.testing.assert_series_equal(
236-
actual_result, expected_result, check_index_type=False
237-
)
228+
assert_series_equal(actual_result, expected_result, check_index_type=False)
238229

239230

240231
def test_timestamp_add__td_literal_plus_ts_series(temporal_dfs):
@@ -244,9 +235,7 @@ def test_timestamp_add__td_literal_plus_ts_series(temporal_dfs):
244235
actual_result = (timedelta + bf_df["datetime_col"]).to_pandas().astype("<M8[ns]")
245236

246237
expected_result = timedelta + pd_df["datetime_col"]
247-
pandas.testing.assert_series_equal(
248-
actual_result, expected_result, check_index_type=False
249-
)
238+
assert_series_equal(actual_result, expected_result, check_index_type=False)
250239

251240

252241
def test_timestamp_add__ts_literal_plus_td_series(temporal_dfs):
@@ -258,9 +247,7 @@ def test_timestamp_add__ts_literal_plus_td_series(temporal_dfs):
258247
)
259248

260249
expected_result = timestamp + pd_df["timedelta_col_1"]
261-
pandas.testing.assert_series_equal(
262-
actual_result, expected_result, check_index_type=False
263-
)
250+
assert_series_equal(actual_result, expected_result, check_index_type=False)
264251

265252

266253
@pytest.mark.parametrize(
@@ -278,9 +265,7 @@ def test_timestamp_add_with_numpy_op(temporal_dfs, column, pd_dtype):
278265
)
279266

280267
expected_result = np.add(pd_df[column], pd_df["timedelta_col_1"])
281-
pandas.testing.assert_series_equal(
282-
actual_result, expected_result, check_index_type=False
283-
)
268+
assert_series_equal(actual_result, expected_result, check_index_type=False)
284269

285270

286271
def test_timestamp_add_dataframes(temporal_dfs):
@@ -295,9 +280,7 @@ def test_timestamp_add_dataframes(temporal_dfs):
295280
)
296281

297282
expected_result = pd_df[columns] + timedelta
298-
pandas.testing.assert_frame_equal(
299-
actual_result, expected_result, check_index_type=False
300-
)
283+
assert_frame_equal(actual_result, expected_result, check_index_type=False)
301284

302285

303286
@pytest.mark.parametrize(
@@ -315,9 +298,7 @@ def test_timestamp_sub__ts_series_minus_td_series(temporal_dfs, column, pd_dtype
315298
)
316299

317300
expected_result = pd_df[column] - pd_df["timedelta_col_1"]
318-
pandas.testing.assert_series_equal(
319-
actual_result, expected_result, check_index_type=False
320-
)
301+
assert_series_equal(actual_result, expected_result, check_index_type=False)
321302

322303

323304
@pytest.mark.parametrize(
@@ -334,9 +315,7 @@ def test_timestamp_sub__ts_series_minus_td_literal(temporal_dfs, column, pd_dtyp
334315
actual_result = (bf_df[column] - literal).to_pandas().astype(pd_dtype)
335316

336317
expected_result = pd_df[column] - literal
337-
pandas.testing.assert_series_equal(
338-
actual_result, expected_result, check_index_type=False
339-
)
318+
assert_series_equal(actual_result, expected_result, check_index_type=False)
340319

341320

342321
def test_timestamp_sub__ts_literal_minus_td_series(temporal_dfs):
@@ -346,9 +325,7 @@ def test_timestamp_sub__ts_literal_minus_td_series(temporal_dfs):
346325
actual_result = (literal - bf_df["timedelta_col_1"]).to_pandas().astype("<M8[ns]")
347326

348327
expected_result = literal - pd_df["timedelta_col_1"]
349-
pandas.testing.assert_series_equal(
350-
actual_result, expected_result, check_index_type=False
351-
)
328+
assert_series_equal(actual_result, expected_result, check_index_type=False)
352329

353330

354331
@pytest.mark.parametrize(
@@ -368,9 +345,7 @@ def test_timestamp_sub_with_numpy_op(temporal_dfs, column, pd_dtype):
368345
)
369346

370347
expected_result = np.subtract(pd_df[column], pd_df["timedelta_col_1"])
371-
pandas.testing.assert_series_equal(
372-
actual_result, expected_result, check_index_type=False
373-
)
348+
assert_series_equal(actual_result, expected_result, check_index_type=False)
374349

375350

376351
def test_timestamp_sub_dataframes(temporal_dfs):
@@ -385,9 +360,7 @@ def test_timestamp_sub_dataframes(temporal_dfs):
385360
)
386361

387362
expected_result = pd_df[columns] - timedelta
388-
pandas.testing.assert_frame_equal(
389-
actual_result, expected_result, check_index_type=False
390-
)
363+
assert_frame_equal(actual_result, expected_result, check_index_type=False)
391364

392365

393366
@pytest.mark.parametrize(
@@ -406,9 +379,7 @@ def test_date_add__series_add_series(temporal_dfs, left_col, right_col):
406379
actual_result = (bf_df[left_col] + bf_df[right_col]).to_pandas()
407380

408381
expected_result = (pd_df[left_col] + pd_df[right_col]).astype(dtypes.DATETIME_DTYPE)
409-
pandas.testing.assert_series_equal(
410-
actual_result, expected_result, check_index_type=False
411-
)
382+
assert_series_equal(actual_result, expected_result, check_index_type=False)
412383

413384

414385
# Pandas does not support date literal + timedelta series so we don't test it here.
@@ -419,9 +390,7 @@ def test_date_add__literal_add_series(temporal_dfs):
419390
actual_result = (literal + bf_df["date_col"]).to_pandas()
420391

421392
expected_result = (literal + pd_df["date_col"]).astype(dtypes.DATETIME_DTYPE)
422-
pandas.testing.assert_series_equal(
423-
actual_result, expected_result, check_index_type=False
424-
)
393+
assert_series_equal(actual_result, expected_result, check_index_type=False)
425394

426395

427396
# Pandas does not support timedelta series + date literal so we don't test it here.
@@ -432,9 +401,7 @@ def test_date_add__series_add_literal(temporal_dfs):
432401
actual_result = (bf_df["date_col"] + literal).to_pandas()
433402

434403
expected_result = (pd_df["date_col"] + literal).astype(dtypes.DATETIME_DTYPE)
435-
pandas.testing.assert_series_equal(
436-
actual_result, expected_result, check_index_type=False
437-
)
404+
assert_series_equal(actual_result, expected_result, check_index_type=False)
438405

439406

440407
def test_date_sub__series_sub_series(temporal_dfs):
@@ -448,9 +415,7 @@ def test_date_sub__series_sub_series(temporal_dfs):
448415
expected_result = (pd_df["date_col"] - pd_df["timedelta_col_1"]).astype(
449416
dtypes.DATETIME_DTYPE
450417
)
451-
pandas.testing.assert_series_equal(
452-
actual_result, expected_result, check_index_type=False
453-
)
418+
assert_series_equal(actual_result, expected_result, check_index_type=False)
454419

455420

456421
def test_date_sub__series_sub_literal(temporal_dfs):
@@ -460,9 +425,7 @@ def test_date_sub__series_sub_literal(temporal_dfs):
460425
actual_result = (bf_df["date_col"] - literal).to_pandas()
461426

462427
expected_result = (pd_df["date_col"] - literal).astype(dtypes.DATETIME_DTYPE)
463-
pandas.testing.assert_series_equal(
464-
actual_result, expected_result, check_index_type=False
465-
)
428+
assert_series_equal(actual_result, expected_result, check_index_type=False)
466429

467430

468431
@pytest.mark.parametrize(
@@ -486,9 +449,7 @@ def test_timedelta_series_comparison(temporal_dfs, compare_func):
486449
expected_result = compare_func(
487450
pd_df["timedelta_col_1"], pd_df["timedelta_col_2"]
488451
).astype("boolean")
489-
pandas.testing.assert_series_equal(
490-
actual_result, expected_result, check_index_type=False
491-
)
452+
assert_series_equal(actual_result, expected_result, check_index_type=False)
492453

493454

494455
@pytest.mark.parametrize(
@@ -509,9 +470,7 @@ def test_timedelta_series_and_literal_comparison(temporal_dfs, compare_func):
509470
actual_result = compare_func(literal, bf_df["timedelta_col_2"]).to_pandas()
510471

511472
expected_result = compare_func(literal, pd_df["timedelta_col_2"]).astype("boolean")
512-
pandas.testing.assert_series_equal(
513-
actual_result, expected_result, check_index_type=False
514-
)
473+
assert_series_equal(actual_result, expected_result, check_index_type=False)
515474

516475

517476
def test_timedelta_filtering(session):
@@ -532,9 +491,7 @@ def test_timedelta_filtering(session):
532491
)
533492

534493
expected_result = pd_series[(pd_series - timestamp) > pd.Timedelta(1, "h")]
535-
pandas.testing.assert_series_equal(
536-
actual_result, expected_result, check_index_type=False
537-
)
494+
assert_series_equal(actual_result, expected_result, check_index_type=False)
538495

539496

540497
def test_timedelta_ordering(session):
@@ -562,9 +519,7 @@ def test_timedelta_ordering(session):
562519
)
563520

564521
expected_result = (pd_df["col_2"] - pd_df["col_1"]).sort_values()
565-
pandas.testing.assert_series_equal(
566-
actual_result, expected_result, check_index_type=False
567-
)
522+
assert_series_equal(actual_result, expected_result, check_index_type=False)
568523

569524

570525
def test_timedelta_cumsum(temporal_dfs):
@@ -629,6 +584,6 @@ def test_timestamp_diff_after_type_casting(temporal_dfs):
629584
expected_result = pd_df["timestamp_col"] - pd_df["positive_int_col"].astype(
630585
"datetime64[us, UTC]"
631586
)
632-
pandas.testing.assert_series_equal(
587+
assert_series_equal(
633588
actual_result, expected_result, check_index_type=False, check_dtype=False
634589
)

0 commit comments

Comments
 (0)