From e54e42d9dd2cfb90f6ff72280fefe1c4bcf696b6 Mon Sep 17 00:00:00 2001 From: Andrej Zachar Date: Thu, 21 Oct 2021 12:34:32 +0200 Subject: [PATCH] feat(dataframe): display original dataframes in compare --- chispa/dataframe_comparer.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/chispa/dataframe_comparer.py b/chispa/dataframe_comparer.py index 63496fe..9298813 100644 --- a/chispa/dataframe_comparer.py +++ b/chispa/dataframe_comparer.py @@ -61,7 +61,7 @@ def assert_generic_rows_equality(df1, df2, row_equality_fun, row_equality_fun_ar allRowsEqual = False t.add_row([r1, r2]) if allRowsEqual == False: - raise DataFramesNotEqualError("\n" + t.get_string()) + _fail(df1, df2, t) def assert_basic_rows_equality(df1, df2): @@ -75,4 +75,14 @@ def assert_basic_rows_equality(df1, df2): t.add_row([blue(r1), blue(r2)]) else: t.add_row([r1, r2]) - raise DataFramesNotEqualError("\n" + t.get_string()) + _fail(df1, df2, t) + +def _fail(df1, df2, t): + raise DataFramesNotEqualError( + "\n\n** df1 **\n" + _getShowString(df1) + "\n** df2 ** \n:" + _getShowString(df2) + "\n** Comparison: **\n" +t.get_string()) + +def _getShowString(df, n=20, truncate=True, vertical=False): + if isinstance(truncate, bool) and truncate: + return(df._jdf.showString(n, 20, vertical)) + else: + return(df._jdf.showString(n, int(truncate), vertical))