def test_ignore_indices_invalid(self, df1, value):
     '''
     When other value than 0 or 1 in ignore_indices, raise ValueError
     '''
     with pytest.raises(ValueError) as ex:
         df_.equals(df1, df1, ignore_indices=value)
     assert 'ignore_indices' in str(ex.value)
     assert str(value) in str(ex.value)
 def assert_(self, df1, df2, expected, **equals_args):
     dfs = [df1, df2]
     dfs_orig = [df.copy() for df in dfs]
     actual = df_.equals(*dfs, _return_reason=True, **equals_args)
     for df, df_orig in zip(dfs, dfs_orig):  # input unchanged
         assert df.equals(df_orig)
         assert df.index.name == df_orig.index.name
         assert df.columns.name == df_orig.columns.name
     assert actual[0] == expected, actual[1]
Пример #3
0
def _equals(series1, series2, ignore_order, ignore_index, all_close):
    if not ignore_index:
        if series1.name != series2.name:
            return False, 'Series name differs: {!r} != {!r}'.format(series1.name, series2.name)
    return df_.equals(
        series1.to_frame(), 
        series2.to_frame(),
        ignore_order={0} if ignore_order else set(),
        ignore_indices={0} if ignore_index else set(),
        all_close=all_close,
        _return_reason=True  #TODO the reasons will be about dataframes, this is confusing. May need to copy paste after all and do the analog for a series. Or add an internal param so it outputs series info (pick the former option)
    )
 def test_return_reason(self, df1):
     '''
     When not return_reason, return only a bool
     '''
     assert df_.equals(df1, df1)