@@ -2551,6 +2551,74 @@ def test_df_reindex_columns(scalars_df_index, scalars_pandas_df_index):
25512551 )
25522552
25532553
2554+ def test_df_equals_identical (scalars_df_index , scalars_pandas_df_index ):
2555+ unsupported = [
2556+ "geography_col" ,
2557+ ]
2558+ scalars_df_index = scalars_df_index .drop (columns = unsupported )
2559+ scalars_pandas_df_index = scalars_pandas_df_index .drop (columns = unsupported )
2560+
2561+ bf_result = scalars_df_index .equals (scalars_df_index )
2562+ pd_result = scalars_pandas_df_index .equals (scalars_pandas_df_index )
2563+
2564+ assert pd_result == bf_result
2565+
2566+
2567+ def test_df_equals_series (scalars_df_index , scalars_pandas_df_index ):
2568+ bf_result = scalars_df_index [["int64_col" ]].equals (scalars_df_index ["int64_col" ])
2569+ pd_result = scalars_pandas_df_index [["int64_col" ]].equals (
2570+ scalars_pandas_df_index ["int64_col" ]
2571+ )
2572+
2573+ assert pd_result == bf_result
2574+
2575+
2576+ def test_df_equals_different_dtype (scalars_df_index , scalars_pandas_df_index ):
2577+ columns = ["int64_col" , "int64_too" ]
2578+ scalars_df_index = scalars_df_index [columns ]
2579+ scalars_pandas_df_index = scalars_pandas_df_index [columns ]
2580+
2581+ bf_modified = scalars_df_index .copy ()
2582+ bf_modified = bf_modified .astype ("Float64" )
2583+
2584+ pd_modified = scalars_pandas_df_index .copy ()
2585+ pd_modified = pd_modified .astype ("Float64" )
2586+
2587+ bf_result = scalars_df_index .equals (bf_modified )
2588+ pd_result = scalars_pandas_df_index .equals (pd_modified )
2589+
2590+ assert pd_result == bf_result
2591+
2592+
2593+ def test_df_equals_different_values (scalars_df_index , scalars_pandas_df_index ):
2594+ columns = ["int64_col" , "int64_too" ]
2595+ scalars_df_index = scalars_df_index [columns ]
2596+ scalars_pandas_df_index = scalars_pandas_df_index [columns ]
2597+
2598+ bf_modified = scalars_df_index .copy ()
2599+ bf_modified ["int64_col" ] = bf_modified .int64_col + 1
2600+
2601+ pd_modified = scalars_pandas_df_index .copy ()
2602+ pd_modified ["int64_col" ] = pd_modified .int64_col + 1
2603+
2604+ bf_result = scalars_df_index .equals (bf_modified )
2605+ pd_result = scalars_pandas_df_index .equals (pd_modified )
2606+
2607+ assert pd_result == bf_result
2608+
2609+
2610+ def test_df_equals_extra_column (scalars_df_index , scalars_pandas_df_index ):
2611+ columns = ["int64_col" , "int64_too" ]
2612+ more_columns = ["int64_col" , "int64_too" , "float64_col" ]
2613+
2614+ bf_result = scalars_df_index [columns ].equals (scalars_df_index [more_columns ])
2615+ pd_result = scalars_pandas_df_index [columns ].equals (
2616+ scalars_pandas_df_index [more_columns ]
2617+ )
2618+
2619+ assert pd_result == bf_result
2620+
2621+
25542622def test_df_reindex_like (scalars_df_index , scalars_pandas_df_index ):
25552623 reindex_target_bf = scalars_df_index .reindex (
25562624 columns = ["not_a_col" , "int64_col" , "int64_too" ], index = [5 , 1 , 3 , 99 , 1 ]
0 commit comments