From 0c6b2cf609d50ce15eeedbe60f2d261126b85a9c Mon Sep 17 00:00:00 2001 From: Alexander Schlemmer <alexander@mail-schlemmer.de> Date: Tue, 25 Jul 2023 13:05:27 +0200 Subject: [PATCH] TST: Added a test for checking variable deletion behavior --- unittests/cfood_variable_deletion.yml | 29 +++++++++++++++++++ .../Data_1/bla/README.md | 0 .../Data_2/test/README.md | 0 unittests/test_scanner.py | 17 +++++++++++ 4 files changed, 46 insertions(+) create mode 100644 unittests/cfood_variable_deletion.yml create mode 100644 unittests/test_directories/example_variable_deletion/Data_1/bla/README.md create mode 100644 unittests/test_directories/example_variable_deletion/Data_2/test/README.md diff --git a/unittests/cfood_variable_deletion.yml b/unittests/cfood_variable_deletion.yml new file mode 100644 index 00000000..9edfc1b0 --- /dev/null +++ b/unittests/cfood_variable_deletion.yml @@ -0,0 +1,29 @@ + +Data: + type: Directory + match: (.*) + subtree: + Data_1: + type: Directory + match: ^Data_1$ + subtree: + Subdir: + type: Directory + match: ^(?P<test_1>.*)$ + records: + DummyRecord: + name: "Record from Data_1" + var1: $test_1 + var2: $test_2 + Data_2: + type: Directory + match: ^Data_2$ + subtree: + Subdir: + type: Directory + match: ^(?P<test_2>.*)$ + records: + DummyRecord: + name: "Record from Data_2" + var1: $test_1 + var2: $test_2 diff --git a/unittests/test_directories/example_variable_deletion/Data_1/bla/README.md b/unittests/test_directories/example_variable_deletion/Data_1/bla/README.md new file mode 100644 index 00000000..e69de29b diff --git a/unittests/test_directories/example_variable_deletion/Data_2/test/README.md b/unittests/test_directories/example_variable_deletion/Data_2/test/README.md new file mode 100644 index 00000000..e69de29b diff --git a/unittests/test_scanner.py b/unittests/test_scanner.py index 6aa7287b..1612b10b 100644 --- a/unittests/test_scanner.py +++ b/unittests/test_scanner.py @@ -245,3 +245,20 @@ def test_record_generation(): persons_found = check_properties(persons, check_props) for f in persons_found: assert f > 0 + + +def test_variable_deletion_problems(): + debug_tree = DebugTree() + records = scan_directory(UNITTESTDIR / "test_directories" / "example_variable_deletion", + UNITTESTDIR / "cfood_variable_deletion.yml", + debug_tree=debug_tree) + + for record in records: + if record.name == "Record from Data_1": + assert record.get_property("var1").value == "bla" + assert record.get_property("var2").value == "$test_2" + elif record.name == "Record from Data_2": + assert record.get_property("var1").value == "$test_1" + assert record.get_property("var2").value == "test" + else: + raise RuntimeError("Wrong name") -- GitLab