From 8b6ba3d99a3015b25e8d8c3cf1ba24e7b771fbfd Mon Sep 17 00:00:00 2001 From: Reto Trappitsch Date: Tue, 21 May 2024 16:25:22 +0200 Subject: [PATCH] add some tests --- pyproject.toml | 2 - tests/data/draw_last_false.json | 67 +++++++++++++++++++++++++++++++++ tests/data/draw_last_true.json | 67 +++++++++++++++++++++++++++++++++ tests/test_json_parser.py | 17 +++++++++ 4 files changed, 151 insertions(+), 2 deletions(-) create mode 100644 tests/data/draw_last_false.json create mode 100644 tests/data/draw_last_true.json diff --git a/pyproject.toml b/pyproject.toml index 5841189..30ac101 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -61,8 +61,6 @@ testpaths = "tests" addopts = "--cov -v" filterwarnings = 'ignore:datetime.datetime.utcfromtimestamp\(\) is deprecated:DeprecationWarning' # 3rd party - - [tool.box] builder = "rye" app_entry = "rimsschemedrawer.app:run_gui" diff --git a/tests/data/draw_last_false.json b/tests/data/draw_last_false.json new file mode 100644 index 0000000..ccdce3c --- /dev/null +++ b/tests/data/draw_last_false.json @@ -0,0 +1,67 @@ +{ + "scheme": { + "element": "Fe", + "gs_level": "0.0", + "gs_term": "5D4", + "ip_term": "", + "lasers": "Ti:Sa", + "last_step_to_ip": true, + "step_forbidden0": false, + "step_forbidden1": false, + "step_forbidden2": false, + "step_forbidden3": false, + "step_forbidden4": false, + "step_forbidden5": false, + "step_forbidden6": false, + "step_level0": "26140.196", + "step_level1": "50530.829", + "step_level2": "64126.024", + "step_level3": "", + "step_level4": "", + "step_level5": "", + "step_level6": "", + "step_lowlying0": false, + "step_lowlying1": false, + "step_lowlying2": false, + "step_lowlying3": false, + "step_lowlying4": false, + "step_lowlying5": false, + "step_lowlying6": false, + "step_term0": "5D3", + "step_term1": "5D3", + "step_term2": "", + "step_term3": "", + "step_term4": "", + "step_term5": "", + "step_term6": "", + "trans_strength0": "", + "trans_strength1": "", + "trans_strength2": "", + "trans_strength3": "", + "trans_strength4": "", + "trans_strength5": "", + "trans_strength6": "", + "unit": "cm-1" + }, + "settings": { + "arrow_head_width": "0.6", + "arrow_width": "0.2", + "fig_height": "8.0", + "fig_width": "5.0", + "fs_axes": "11.0", + "fs_axes_labels": "11.0", + "fs_labels": "11.0", + "fs_title": "14.0", + "headspace": "2500.0", + "ip_label_pos": "Bottom", + "line_breaks": true, + "plot_style": "light", + "plot_title": "", + "prec_level": "0", + "prec_wavelength": "3", + "show_cm-1_axis": true, + "show_eV_axis": true, + "show_forbidden_transitions": "x-out", + "show_transition_strength": true + } +} diff --git a/tests/data/draw_last_true.json b/tests/data/draw_last_true.json new file mode 100644 index 0000000..50fb10d --- /dev/null +++ b/tests/data/draw_last_true.json @@ -0,0 +1,67 @@ +{ + "scheme": { + "element": "Fe", + "gs_level": "0.0", + "gs_term": "5D4", + "ip_term": "", + "lasers": "Ti:Sa", + "last_step_to_ip": true, + "step_forbidden0": false, + "step_forbidden1": false, + "step_forbidden2": false, + "step_forbidden3": false, + "step_forbidden4": false, + "step_forbidden5": false, + "step_forbidden6": false, + "step_level0": "26140.196", + "step_level1": "50530.829", + "step_level2": "", + "step_level3": "", + "step_level4": "", + "step_level5": "", + "step_level6": "", + "step_lowlying0": false, + "step_lowlying1": false, + "step_lowlying2": false, + "step_lowlying3": false, + "step_lowlying4": false, + "step_lowlying5": false, + "step_lowlying6": false, + "step_term0": "5D3", + "step_term1": "5D3", + "step_term2": "", + "step_term3": "", + "step_term4": "", + "step_term5": "", + "step_term6": "", + "trans_strength0": "", + "trans_strength1": "", + "trans_strength2": "", + "trans_strength3": "", + "trans_strength4": "", + "trans_strength5": "", + "trans_strength6": "", + "unit": "cm-1" + }, + "settings": { + "arrow_head_width": "0.6", + "arrow_width": "0.2", + "fig_height": "8.0", + "fig_width": "5.0", + "fs_axes": "11.0", + "fs_axes_labels": "11.0", + "fs_labels": "11.0", + "fs_title": "14.0", + "headspace": "2500.0", + "ip_label_pos": "Bottom", + "line_breaks": true, + "plot_style": "light", + "plot_title": "", + "prec_level": "0", + "prec_wavelength": "3", + "show_cm-1_axis": true, + "show_eV_axis": true, + "show_forbidden_transitions": "x-out", + "show_transition_strength": true + } +} diff --git a/tests/test_json_parser.py b/tests/test_json_parser.py index e961191..4af4e92 100644 --- a/tests/test_json_parser.py +++ b/tests/test_json_parser.py @@ -18,6 +18,8 @@ def test_config_parser(data_path, fname): parser = jp.ConfigParser(data) assert parser.lasers == "Ti:Sa" + assert not parser.last_step_to_ip_mode + assert not parser.last_step_to_ip @pytest.mark.parametrize( @@ -118,3 +120,18 @@ def test_json_reader_new(data_path, tmp_path): assert isinstance(data_in, dict) assert "scheme" in data_in.keys() assert "settings" in data_in.keys() + + +@pytest.mark.parametrize("selector", [True, False]) +def test_json_reader_last_step_to_ip(data_path, selector): + """Check if last step to IP is correctly parsed.""" + if selector: + fin = data_path.joinpath("draw_last_true.json") + else: + fin = data_path.joinpath("draw_last_false.json") + data = jp.json_reader(fin) + + parser = jp.ConfigParser(data) + + assert parser.last_step_to_ip + assert parser.last_step_to_ip_mode is selector