polars_python/testing/
series.rs

1use polars_testing::asserts::{SeriesEqualOptions, assert_series_equal};
2use pyo3::prelude::*;
3
4use crate::PySeries;
5use crate::error::PyPolarsErr;
6
7#[pyfunction]
8#[pyo3(signature = (left, right, *, check_dtypes, check_names, check_order, check_exact, rtol, atol, categorical_as_str))]
9pub fn assert_series_equal_py(
10    left: &PySeries,
11    right: &PySeries,
12    check_dtypes: bool,
13    check_names: bool,
14    check_order: bool,
15    check_exact: bool,
16    rtol: f64,
17    atol: f64,
18    categorical_as_str: bool,
19) -> PyResult<()> {
20    let left_series = &left.series;
21    let right_series = &right.series;
22
23    let options = SeriesEqualOptions {
24        check_dtypes,
25        check_names,
26        check_order,
27        check_exact,
28        rtol,
29        atol,
30        categorical_as_str,
31    };
32
33    assert_series_equal(left_series, right_series, options).map_err(|e| PyPolarsErr::from(e).into())
34}