mirror of
https://github.com/Doctorado-ML/benchmark.git
synced 2025-08-15 23:45:54 +00:00
100% coverage in Utils
This commit is contained in:
@@ -11,4 +11,5 @@ exclude_lines =
|
|||||||
ignore_errors = True
|
ignore_errors = True
|
||||||
omit =
|
omit =
|
||||||
benchmark/__init__.py
|
benchmark/__init__.py
|
||||||
benchmark/_version.py
|
benchmark/_version.py
|
||||||
|
benchmark/tests/*
|
2
.gitignore
vendored
2
.gitignore
vendored
@@ -102,7 +102,7 @@ celerybeat.pid
|
|||||||
*.sage.py
|
*.sage.py
|
||||||
|
|
||||||
# Environments
|
# Environments
|
||||||
.env
|
/.env
|
||||||
.venv
|
.venv
|
||||||
env/
|
env/
|
||||||
venv/
|
venv/
|
||||||
|
@@ -102,14 +102,13 @@ class Files:
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
def get_all_results(self, hidden) -> list[str]:
|
def get_all_results(self, hidden) -> list[str]:
|
||||||
first_path = "."
|
result_path = os.path.join(
|
||||||
first_try = os.path.join(
|
".", Folders.hidden_results if hidden else Folders.results
|
||||||
first_path, Folders.hidden_results if hidden else Folders.results
|
|
||||||
)
|
)
|
||||||
if os.path.isdir(first_try):
|
if os.path.isdir(result_path):
|
||||||
files_list = os.listdir(first_try)
|
files_list = os.listdir(result_path)
|
||||||
else:
|
else:
|
||||||
raise ValueError(f"{first_try} does not exist")
|
raise ValueError(f"{result_path} does not exist")
|
||||||
result = []
|
result = []
|
||||||
prefix, suffix = self.results_suffixes()
|
prefix, suffix = self.results_suffixes()
|
||||||
for result_file in files_list:
|
for result_file in files_list:
|
||||||
@@ -143,17 +142,12 @@ class EnvDefault(argparse.Action):
|
|||||||
# Thanks to https://stackoverflow.com/users/445507/russell-heilling
|
# Thanks to https://stackoverflow.com/users/445507/russell-heilling
|
||||||
def __init__(self, envvar, required=True, default=None, **kwargs):
|
def __init__(self, envvar, required=True, default=None, **kwargs):
|
||||||
self._args = EnvData.load()
|
self._args = EnvData.load()
|
||||||
if not default and envvar in self._args:
|
default = self._args[envvar]
|
||||||
default = self._args[envvar]
|
required = False
|
||||||
if required and default:
|
|
||||||
required = False
|
|
||||||
super(EnvDefault, self).__init__(
|
super(EnvDefault, self).__init__(
|
||||||
default=default, required=required, **kwargs
|
default=default, required=required, **kwargs
|
||||||
)
|
)
|
||||||
|
|
||||||
def __call__(self, parser, namespace, values, option_string=None):
|
|
||||||
setattr(namespace, self.dest, values)
|
|
||||||
|
|
||||||
|
|
||||||
class TextColor:
|
class TextColor:
|
||||||
BLUE = "\033[94m"
|
BLUE = "\033[94m"
|
||||||
|
7
benchmark/tests/.env
Normal file
7
benchmark/tests/.env
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
score=accuracy
|
||||||
|
platform=iMac27
|
||||||
|
n_folds=5
|
||||||
|
model=ODTE
|
||||||
|
stratified=0
|
||||||
|
# Source of data Tanveer/Surcov
|
||||||
|
source_data=Tanveer
|
@@ -132,6 +132,29 @@ class UtilTest(unittest.TestCase):
|
|||||||
["results_accuracy_STree_iMac27_2021-11-01_23:55:16_0.json"],
|
["results_accuracy_STree_iMac27_2021-11-01_23:55:16_0.json"],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def test_Files_get_results_Error(self):
|
||||||
|
os.chdir(os.path.dirname(os.path.abspath(__file__)))
|
||||||
|
# check with results
|
||||||
|
os.rename(Folders.results, f"{Folders.results}.test")
|
||||||
|
try:
|
||||||
|
Files().get_all_results(hidden=False)
|
||||||
|
except ValueError:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
self.fail("Files.get_all_results() should raise ValueError")
|
||||||
|
finally:
|
||||||
|
os.rename(f"{Folders.results}.test", Folders.results)
|
||||||
|
# check with hidden_results
|
||||||
|
os.rename(Folders.hidden_results, f"{Folders.hidden_results}.test")
|
||||||
|
try:
|
||||||
|
Files().get_all_results(hidden=True)
|
||||||
|
except ValueError:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
self.fail("Files.get_all_results() should raise ValueError")
|
||||||
|
finally:
|
||||||
|
os.rename(f"{Folders.hidden_results}.test", Folders.hidden_results)
|
||||||
|
|
||||||
def test_Symbols(self):
|
def test_Symbols(self):
|
||||||
self.assertEqual(Symbols.check_mark, "\N{heavy check mark}")
|
self.assertEqual(Symbols.check_mark, "\N{heavy check mark}")
|
||||||
|
|
||||||
@@ -156,6 +179,13 @@ class UtilTest(unittest.TestCase):
|
|||||||
self.assertDictEqual(computed, expected)
|
self.assertDictEqual(computed, expected)
|
||||||
|
|
||||||
def test_EnvDefault(self):
|
def test_EnvDefault(self):
|
||||||
|
expected = {
|
||||||
|
"score": "accuracy",
|
||||||
|
"platform": "iMac27",
|
||||||
|
"n_folds": 5,
|
||||||
|
"model": "ODTE",
|
||||||
|
"stratified": "0",
|
||||||
|
}
|
||||||
ap = argparse.ArgumentParser()
|
ap = argparse.ArgumentParser()
|
||||||
ap.add_argument(
|
ap.add_argument(
|
||||||
"-s",
|
"-s",
|
||||||
@@ -178,6 +208,8 @@ class UtilTest(unittest.TestCase):
|
|||||||
ap.add_argument(
|
ap.add_argument(
|
||||||
"-m",
|
"-m",
|
||||||
"--model",
|
"--model",
|
||||||
|
action=EnvDefault,
|
||||||
|
envvar="model",
|
||||||
type=str,
|
type=str,
|
||||||
required=True,
|
required=True,
|
||||||
help="model name",
|
help="model name",
|
||||||
@@ -200,20 +232,26 @@ class UtilTest(unittest.TestCase):
|
|||||||
required=True,
|
required=True,
|
||||||
help="Stratified",
|
help="Stratified",
|
||||||
)
|
)
|
||||||
# ap.add_argument(
|
ap.add_argument(
|
||||||
# "--title",
|
"--title",
|
||||||
# type=str,
|
type=str,
|
||||||
# required=True,
|
required=True,
|
||||||
# )
|
)
|
||||||
# args = ap.parse_args([
|
ap.add_argument(
|
||||||
# "--title",
|
"--test",
|
||||||
# "test",
|
type=str,
|
||||||
# ])
|
required=False,
|
||||||
# args = ap.parse_known_args(namespace=unittest)
|
default=None,
|
||||||
# computed = args.__dict__
|
)
|
||||||
# for key, value in expected.items():
|
args = ap.parse_args(
|
||||||
# self.assertEqual(computed[key], value)
|
[
|
||||||
# print(computed)
|
"--title",
|
||||||
|
"test",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
computed = args.__dict__
|
||||||
|
for key, value in expected.items():
|
||||||
|
self.assertEqual(computed[key], value)
|
||||||
|
|
||||||
def test_TextColor(self):
|
def test_TextColor(self):
|
||||||
self.assertEqual(TextColor.BLUE, "\033[94m")
|
self.assertEqual(TextColor.BLUE, "\033[94m")
|
||||||
|
Reference in New Issue
Block a user