def test_case():
    idx_name = 'TimeStamp'
    dir = os.path.join('Data')
    files = ['Dummy_1.csv', 'Dummy_2.csv']
    dfs = [pd.read_csv(os.path.join(dir, f)) for f in files]
    rets = [check_all_dfs_have_same_columns(dfs), DFH.check_indices_are_the_same(dfs, idx_name)]
    Log.info("check_column_names : %s" % rets[0])
    Log.info("check_indices : %s" % rets[1])
    if rets == [True] * len(rets):
        Log.info("check_values : %s" % check_values(dfs, 2))
def main():
    df = get_test_dataframe()
    Log.info(df)

    #
    Log.info("get_rows_by_key_index : %s" % get_rows_by_key_index(df, 5))
    Log.info("get_columns_by_names : %s" % get_columns_by_names(df, 'ID'))
    Log.info("get_columns_by_names : %s" %
             get_columns_by_names(df, ['ID', 'Value']))
    Log.info("filter_columns_by_null : %s" % filter_columns_by_null(df, 'ID'))
    Log.info("filter_columns_by_null : %s" %
             filter_columns_by_null(df, ['ID', 'Value']))
    Log.info("filter_columns_by_null : %s" %
             filter_columns_by_null(df, 'Value', include=True))
    Log.info("filter_columns_by_value : %s" %
             filter_columns_by_value(df, 'Value', 100, 300, include=True))
    Log.info("filter_columns_by_value : %s" % filter_columns_by_value(
        df, ['ID', 'Value'], [50, 100], [100, 500], include=True))
    Log.info("filter_columns_by_value : %s" % filter_columns_by_value(
        df, ['ID', 'Value'], [50, 100], [100, 500], include=False))

    df2 = df.copy()
    df2.rename(columns={'TimeStamp': 'Timestamp'})
    Log.info("check_indices_are_the_same : %s" %
             check_indices_are_the_same([df, df2]))
    Log.info("check_indices_are_the_same : %s" %
             check_indices_are_the_same([df, df2], 'TimeStamp'))

    df = df.set_index('TimeStamp')
    Log.info(get_rows_by_key_index(df, '2020/10/01 00:00:00.040'))