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