| 526 | |
| 527 | |
| 528 | def assert_eq( |
| 529 | a, |
| 530 | b, |
| 531 | check_names=True, |
| 532 | check_dtype=True, |
| 533 | check_divisions=True, |
| 534 | check_index=True, |
| 535 | sort_results=True, |
| 536 | scheduler="sync", |
| 537 | **kwargs, |
| 538 | ): |
| 539 | if check_divisions: |
| 540 | assert_divisions(a, scheduler=scheduler) |
| 541 | assert_divisions(b, scheduler=scheduler) |
| 542 | if hasattr(a, "divisions") and hasattr(b, "divisions"): |
| 543 | at = type(np.asarray(a.divisions).tolist()[0]) # numpy to python |
| 544 | bt = type(np.asarray(b.divisions).tolist()[0]) # scalar conversion |
| 545 | assert at == bt, (at, bt) |
| 546 | assert_sane_keynames(a) |
| 547 | assert_sane_keynames(b) |
| 548 | a = _check_dask( |
| 549 | a, check_names=check_names, check_dtypes=check_dtype, scheduler=scheduler |
| 550 | ) |
| 551 | b = _check_dask( |
| 552 | b, check_names=check_names, check_dtypes=check_dtype, scheduler=scheduler |
| 553 | ) |
| 554 | if hasattr(a, "to_pandas"): |
| 555 | a = a.to_pandas() |
| 556 | if hasattr(b, "to_pandas"): |
| 557 | b = b.to_pandas() |
| 558 | |
| 559 | a, b = _maybe_convert_string(a, b) |
| 560 | |
| 561 | if isinstance(a, (pd.DataFrame, pd.Series)) and sort_results: |
| 562 | a = _maybe_sort(a, check_index) |
| 563 | b = _maybe_sort(b, check_index) |
| 564 | if not check_index: |
| 565 | a = a.reset_index(drop=True) |
| 566 | b = b.reset_index(drop=True) |
| 567 | if isinstance(a, pd.DataFrame): |
| 568 | tm.assert_frame_equal( |
| 569 | a, b, check_names=check_names, check_dtype=check_dtype, **kwargs |
| 570 | ) |
| 571 | elif isinstance(a, pd.Series): |
| 572 | tm.assert_series_equal( |
| 573 | a, b, check_names=check_names, check_dtype=check_dtype, **kwargs |
| 574 | ) |
| 575 | elif isinstance(a, pd.Index): |
| 576 | tm.assert_index_equal(a, b, exact=check_dtype, **kwargs) |
| 577 | elif a == b: |
| 578 | return True |
| 579 | elif np.isnan(a): |
| 580 | assert np.isnan(b) |
| 581 | else: |
| 582 | assert np.allclose(a, b) |
| 583 | return True |
| 584 | |
| 585 | |