diff --git a/benchmark/scripts/be_print_strees.py b/benchmark/scripts/be_print_strees.py index babbdac..a6a369e 100755 --- a/benchmark/scripts/be_print_strees.py +++ b/benchmark/scripts/be_print_strees.py @@ -1,6 +1,5 @@ #!/usr/bin/env python import os -import subprocess import json from stree import Stree from graphviz import Source @@ -74,18 +73,16 @@ def print_stree(clf, dataset, X, y, color, quiet): file_name = os.path.join(Folders.img, f"stree_{dataset}") grp.render(format="png", filename=f"{file_name}") os.remove(f"{file_name}") - print(f"File {file_name}.png generated") - if not quiet: - cmd_open = "/usr/bin/open" - if os.path.isfile(cmd_open) and os.access(cmd_open, os.X_OK): - subprocess.run([cmd_open, f"{file_name}.png"]) + file_name += ".png" + print(f"File {file_name} generated") + Files.open(name=file_name, test=quiet) def main(args_test=None): arguments = Arguments() arguments.xset("color").xset("dataset", default="all").xset("quiet") args = arguments.parse(args_test) - hyperparameters = load_hyperparams("accuracy", "ODTE") + hyperparameters = load_hyperparams("accuracy", "STree") random_state = 57 dt = Datasets() for dataset in dt: diff --git a/benchmark/tests/img/.gitignore b/benchmark/tests/img/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/benchmark/tests/img/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/benchmark/tests/scripts/Be_Print_Strees_test.py b/benchmark/tests/scripts/Be_Print_Strees_test.py index 5ae278e..f85b625 100644 --- a/benchmark/tests/scripts/Be_Print_Strees_test.py +++ b/benchmark/tests/scripts/Be_Print_Strees_test.py @@ -1,14 +1,19 @@ +import shutil from io import StringIO from unittest.mock import patch from ...Results import Report +from ...Utils import Files from ..TestBase import TestBase class BePrintStrees(TestBase): def setUp(self): self.prepare_scripts_env() + source = Files.grid_output("accuracy", "STree") + target = Files.grid_output("accuracy", "STree") + shutil.copy(source, target) self.score = "accuracy" - self.files = [] + self.files = [target] def tearDown(self) -> None: self.remove_files(self.files, ".")