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