def test_mcmcmc_check_convergence(hf):
csv_path = os.path.join(hf.resource_path, "mcmcmc", "chain")
chain1 = SimpleNamespace(step_counter=99, outfile=csv_path + "1.csv")
chain2 = SimpleNamespace(step_counter=99, outfile=csv_path + "2.csv")
chain3 = SimpleNamespace(step_counter=99, outfile=csv_path + "3.csv")
mc_obj = SimpleNamespace(_check_convergence=mcmcmc.MCMCMC._check_convergence, chains=[chain1, chain2, chain3],
convergence=1.01)
# Return False when step_counter < 100
assert mc_obj._check_convergence(mc_obj) is False
# Return False when convergence is not met
chain1.step_counter = chain2.step_counter = chain3.step_counter = 100
assert mc_obj._check_convergence(mc_obj) is False
# Return True on convergence
mc_obj.convergence = 1.1
assert mc_obj._check_convergence(mc_obj) is True
评论列表
文章目录