def METHOD_NAME(self):
    test_rounds = [i for i in range(10, 100)]
    decrease_rounds = [np.random.randint(i) for i in test_rounds]
    for test_round, decrease_round in zip(test_rounds, decrease_rounds):
        eval_dicts = self.generate_fake_eval_metrics(test_round, decrease_round, )
        self.early_stopping_round = decrease_round - 1
        if self.early_stopping_round <= 0:
            continue
        validation_strategy = ValidationStrategy(self.role, self.mode,
                                                 early_stopping_rounds=self.early_stopping_round,
                                                 use_first_metric_only=self.use_first_metric_only)
        for idx, eval_res in enumerate(eval_dicts):
            validation_strategy.performance_recorder.update(eval_res)
            check_rs = validation_strategy.check_early_stopping()
            if check_rs:
                best_perform = validation_strategy.performance_recorder.cur_best_performance
                self.assertDictEqual(best_perform, eval_dicts[test_round - decrease_round - 1])
                print('best iter checking passed')
                break