def test_update_unfit_groups_with_crossgroup_dist_03(self):

        # load test data
        user_ids, user_profile_df, user_connection_df = load_sample_test_data()
        # define test data
        fit_group = {0:[], 1:[]}
        fit_pvals = {0:[], 1:[]}
        unfit_group = {0: ['d', 'e'], 1: ['a', 'b', 'c']}
        buffer_group = []
        dist_metrics = {0: [1, 1, 1], 1: [0, 0, 1]}

        new_fit_group, new_fit_pvals, buffer_group = _update_unfit_groups_with_crossgroup_dist(dist_metrics,
                                                                                               fit_group,
                                                                                               fit_pvals,
                                                                                               unfit_group,
                                                                                               buffer_group,
                                                                                               user_ids,
                                                                                               user_profile_df,
                                                                                               user_connection_df,
                                                                                               ks_alpha=0.05)

        print("--- _update_unfit_groups_with_crossgroup_dist (with reverse dist metrics)---")
        print("1st unfit_group: {}".format(unfit_group[0]))
        print("2nd unfit_group: {}".format(unfit_group[1]))
        print("new 1st group's distance metrics: {}".format(dist_metrics[0]))
        print("new 2nd group's distance metrics: {}".format(dist_metrics[1]))
        print("new 1st fit_group: {}".format(new_fit_group[0]))
        print("new 2nd fit_group: {}".format(new_fit_group[1]))
        print("new 1st fit_pval: {}".format(new_fit_pvals[0]))
        print("new 2nd fit_pval: {}".format(new_fit_pvals[1]))
        print("buffer_group: {}".format(buffer_group))
    def test_update_unfit_groups_with_crossgroup_dist_02(self):

        # load test data
        user_ids, user_profile_df, user_connection_df = load_sample_test_data()
        # define test data
        fit_group = {0: [], 1: []}
        fit_pvals = {0: [], 1: []}
        unfit_group = {0: ['d', 'e'], 1: ['a', 'b', 'c']}
        buffer_group = []
        dist_metrics = {0: [1, 0, 1], 1: [1, 1, 0]}
        dist_memory_container = [{}, {}]

        new_fit_group, new_fit_pvals, buffer_group = _update_unfit_groups_with_crossgroup_dist(
            dist_metrics,
            fit_group,
            fit_pvals,
            unfit_group,
            buffer_group,
            user_ids,
            user_profile_df,
            user_connection_df,
            dist_memory_container,
            ks_alpha=0.05)

        print(
            "--- _update_unfit_groups_with_crossgroup_dist (with modified dist metrics)---"
        )
        print("1st unfit_group: {}".format(unfit_group[0]))
        print("2nd unfit_group: {}".format(unfit_group[1]))
        print("new 1st group's distance metrics: {}".format(dist_metrics[0]))
        print("new 2nd group's distance metrics: {}".format(dist_metrics[1]))
        print("new 1st fit_group: {}".format(new_fit_group[0]))
        print("new 2nd fit_group: {}".format(new_fit_group[1]))
        print("new 1st fit_pval: {}".format(new_fit_pvals[0]))
        print("new 2nd fit_pval: {}".format(new_fit_pvals[1]))
        print("buffer_group: {}".format(buffer_group))

        is_ok = True
        self.assertTrue(is_ok, True)