def test_save_tree_plot(): fit = get_fit() fit2 = get_fit_larger_uncertainties() fits = [fit, fit2] values_no_error_bars = [{ "mu": 1.1, "tau": 3.1, }] tree_params = TreePlotParams() tree_params.labels = [ "Normal", "Larger uncertainties", "Exact", ] outdir = "tarpan/cmdstanpy/model_info/tree_plot_test" if os.path.isdir(outdir): shutil.rmtree(outdir) save_tree_plot(fits, extra_values=values_no_error_bars, param_names=["mu", "tau"], tree_params=tree_params) assert os.path.isfile(os.path.join(outdir, "summary.pdf"))
def test_save_compare_parameters__extra_values(): fit = get_fit() fit2 = get_fit_larger_uncertainties() fits = [fit, fit2] outdir = "tarpan/cmdstanpy/model_info/compare_parameters_test" if os.path.isdir(outdir): shutil.rmtree(outdir) extra_values = [{ "mu": 1.1, "tau": 2.1, "eta.1": 3.1, "eta.2": 5.2 }, { "mu": 10.1, "tau": 20.1, "eta.1": 30.1, "eta.2": 35.3 }] save_compare_parameters(fits, labels=['One', 'Two', 'Extra 1', 'Extra 2'], extra_values=extra_values, param_names=["mu", "tau", "eta.1"]) assert os.path.isfile(os.path.join(outdir, "parameters_compared.txt")) with open(os.path.join(outdir, "parameters_compared.txt"), 'r') as file: data = file.read() assert "2.36 (+5.41, -2.35)" in data assert "Extra 1" in data assert "Extra 2" in data assert "30.1" in data
def test_save_pair_plot(): fit = get_fit() outdir = "tarpan/cmdstanpy/model_info/pair_plot_test" if os.path.isdir(outdir): shutil.rmtree(outdir) save_pair_plot(fit, param_names=["mu", "tau", 'eta.1']) assert os.path.isfile(os.path.join(outdir, "pair_plot.pdf"))
def test_save_traceplot(): fit = get_fit() outdir = "tarpan/cmdstanpy/model_info/histogram_test" if os.path.isdir(outdir): shutil.rmtree(outdir) save_histogram(fit) assert os.path.isfile(os.path.join(outdir, "histogram_01.pdf")) assert os.path.isfile(os.path.join(outdir, "histogram_01.pdf")) assert os.path.isfile(os.path.join(outdir, "histogram_01.pdf"))
def test_save_summary(): fit = get_fit() outdir = "tarpan/cmdstanpy/model_info/summary_test" if os.path.isdir(outdir): shutil.rmtree(outdir) save_summary(fit, param_names=["mu", "tau", 'eta.1']) assert os.path.isfile(os.path.join(outdir, "summary.txt")) assert os.path.isfile(os.path.join(outdir, "summary.csv"))
def test_print_summary(capsys): fit = get_fit() result = print_summary(fit, param_names=["mu", "tau", 'eta.1'], summary_params=SummaryParams(hpdis=[0.05, 0.99])) assert "8.05" in capsys.readouterr().out assert result["df"].shape == (3, 11) assert "8.05" in result["table"] assert result["samples"].shape == (4000, 3)
def test_save_summary_specify_hpdi(): fit = get_fit() outdir = "tarpan/cmdstanpy/model_info/summary_test" if os.path.isdir(outdir): shutil.rmtree(outdir) save_summary(fit, param_names=["mu", "tau", 'eta.1'], summary_params=SummaryParams(hpdis=[0.05, 0.99])) assert os.path.isfile(os.path.join(outdir, "summary.txt")) assert os.path.isfile(os.path.join(outdir, "summary.csv"))
def test_save_compare_parameters(): fit = get_fit() fit2 = get_fit_larger_uncertainties() fits = [fit, fit2] outdir = "tarpan/cmdstanpy/model_info/compare_parameters_test" if os.path.isdir(outdir): shutil.rmtree(outdir) save_compare_parameters(fits, labels=['One', 'Two'], param_names=["mu", "tau", "eta.1"]) assert os.path.isfile(os.path.join(outdir, "parameters_compared.txt")) with open(os.path.join(outdir, "parameters_compared.txt"), 'r') as file: data = file.read() assert "2.36 (+5.41, -2.35)" in data
def test_save_analysis(): fit = get_fit() outdir = "tarpan/cmdstanpy/model_info/analyse_test" if os.path.isdir(outdir): shutil.rmtree(outdir) save_analysis(fit) # Diagnostic assert os.path.isfile(os.path.join(outdir, "diagnostic.txt")) # Check summary files # --------------- assert os.path.isfile(os.path.join(outdir, "summary.txt")) assert os.path.isfile(os.path.join(outdir, "summary.csv")) # Tree plot assert os.path.isfile(os.path.join(outdir, "summary.pdf")) # Trace plots # ---------- assert os.path.isfile(os.path.join(outdir, "traceplot_01.pdf")) assert os.path.isfile(os.path.join(outdir, "traceplot_02.pdf")) assert os.path.isfile(os.path.join(outdir, "traceplot_03.pdf")) # Histograms of posterior distributions # ---------- assert os.path.isfile(os.path.join(outdir, "histogram_01.pdf")) assert os.path.isfile(os.path.join(outdir, "histogram_02.pdf")) assert os.path.isfile(os.path.join(outdir, "histogram_03.pdf")) # Pair plot assert os.path.isfile(os.path.join(outdir, "pair_plot.pdf"))