79 lines
2.3 KiB
Python
79 lines
2.3 KiB
Python
from corrlib import tools as tl
|
|
from configparser import ConfigParser
|
|
import os
|
|
|
|
|
|
def test_m2k() -> None:
|
|
for m in [0.1, 0.5, 1.0]:
|
|
expected_k = 1 / (2 * m + 8)
|
|
assert tl.m2k(m) == expected_k
|
|
|
|
|
|
def test_k2m() -> None:
|
|
for m in [0.1, 0.5, 1.0]:
|
|
assert tl.k2m(m) == (1/(2*m))-4
|
|
|
|
|
|
def test_k2m_m2k() -> None:
|
|
for m in [0.1, 0.5, 1.0]:
|
|
k = tl.m2k(m)
|
|
m_converted = tl.k2m(k)
|
|
assert abs(m - m_converted) < 1e-9
|
|
|
|
|
|
def test_str2list() -> None:
|
|
assert tl.str2list("a,b,c") == ["a", "b", "c"]
|
|
assert tl.str2list("1,2,3") == ["1", "2", "3"]
|
|
|
|
|
|
def test_list2str() -> None:
|
|
assert tl.list2str(["a", "b", "c"]) == "a,b,c"
|
|
assert tl.list2str(["1", "2", "3"]) == "1,2,3"
|
|
|
|
|
|
def test_set_config(tmp_path: str) -> None:
|
|
section = "core"
|
|
option = "test_option"
|
|
value = "test_value"
|
|
# config is not yet available
|
|
tl.set_config(tmp_path, section, option, value)
|
|
config_path = os.path.join(tmp_path, '.corrlib')
|
|
config = ConfigParser()
|
|
config.read(config_path)
|
|
assert config.get('core', 'test_option', fallback="not the value") == "test_value"
|
|
# now, a config file is already present
|
|
section = "core"
|
|
option = "test_option2"
|
|
value = "test_value2"
|
|
tl.set_config(tmp_path, section, option, value)
|
|
config_path = os.path.join(tmp_path, '.corrlib')
|
|
config = ConfigParser()
|
|
config.read(config_path)
|
|
assert config.get('core', 'test_option2', fallback="not the value") == "test_value2"
|
|
# update option 2
|
|
section = "core"
|
|
option = "test_option2"
|
|
value = "test_value3"
|
|
tl.set_config(tmp_path, section, option, value)
|
|
config_path = os.path.join(tmp_path, '.corrlib')
|
|
config = ConfigParser()
|
|
config.read(config_path)
|
|
assert config.get('core', 'test_option2', fallback="not the value") == "test_value3"
|
|
|
|
|
|
def test_get_db_file(tmp_path: str) -> None:
|
|
section = "paths"
|
|
option = "db"
|
|
value = "test_value"
|
|
# config is not yet available
|
|
tl.set_config(tmp_path, section, option, value)
|
|
assert tl.get_db_file(tmp_path) == "test_value"
|
|
|
|
|
|
def test_cache_enabled(tmp_path: str) -> None:
|
|
section = "core"
|
|
option = "cached"
|
|
value = "True"
|
|
# config is not yet available
|
|
tl.set_config(tmp_path, section, option, value)
|
|
assert tl.get_db_file(tmp_path)
|