/**
 * @brief Test TBPM functionality.
 * 
 * @author Yunhai Li (liyunhai1016@hotmail.com)
 * 
 * @copyright Copyright (c) 2025, TBPLaS develop team.
 */

#ifndef TBPLAS_TESTS_TBPM_H
#define TBPLAS_TESTS_TBPM_H
namespace tbplas::tests {

void test_haydock();
void test_dos();
void test_ac_cond();
void test_dyn_pol();
void test_dc_cond();
void test_hall_cond();
void test_qe();
void test_wft();
void test_qe_speed();
void test_wft_speed();
void test_bands();
void test_bands_tbg();
void test_dos_tbg(int pool_size_param, int T_param, int seed);
void test_qe_tbg(int pool_size_param, int E_param, int T_param, int seed);
void test_dc_cond_tbg(int pool_size_param, int E_param, int T_param, int seed);
void test_ac_cond_tbg(int pool_size_param, int T_param, int seed);
void test_dyn_pol_tbg(int pool_size_param, int T_param, int seed);
void test_cd_tbg(int pool_size_param, int T_param, int seed);

} // namespace tbplas::tests
#endif