Support recursive definitions in scanner
Summary
Motivated by #16 (moved) I created two tests. One of them is failing, the second one is a workaround - but not completely identical, because the Experiment
record is created on another level.
Bidirectional linking should be supported also on the same level.
There still is the issue (in pylib) that recursive definitions of records cannot be displayed/printed and lead to a RecursionError.
Important: This implementation only works if there aren't any recursively defined identifying properties.
Focus
Have a close look at the tests, whether there might be cases that need special treatment. The actual fix was much easier than expected.
Test Environment
There is a unit test and an integration test.
Check List for the Author
Please, prepare your MR for a review. Be sure to write a summary and a focus and create gitlab comments for the reviewer. They should guide the reviewer through the changes, explain your changes and also point out open questions. For further good practices have a look at our review guidelines
-
All automated tests pass -
Reference related issues -
Up-to-date CHANGELOG.md (or not necessary) -
Up-to-date JSON schema (or not necessary) -
Appropriate user and developer documentation (or not necessary) - How do I use the software? Assume "stupid" users.
- How do I develop or debug the software? Assume novice developers.
-
Annotations in code (Gitlab comments) - Intent of new code
- Problems with old code
- Why this implementation?
Check List for the Reviewer
-
I understand the intent of this MR -
All automated tests pass -
Up-to-date CHANGELOG.md (or not necessary) -
Appropriate user and developer documentation (or not necessary) -
The test environment setup works and the intended behavior is reproducible in the test environment -
In-code documentation and comments are up-to-date. -
Check: Are there specifications? Are they satisfied?
For further good practices have a look at our review guidelines.
Merge request reports
Activity
assigned to @salexan
mentioned in issue #16 (moved)
mentioned in issue #175 (closed)
added 1 commit
- 5cca4956 - TST: added tests for recursively defined records
added 166 commits
-
5cca4956...d5706303 - 165 commits from branch
dev
- 0e4e1283 - Merge branch 'dev' into f-recursive-definition
-
5cca4956...d5706303 - 165 commits from branch
added 1 commit
- a9353737 - ENH(scanner): allow recursive references to records on the same level in the cfood
requested review from @florian
added 1 commit
- cb87b6e8 - TST(scanner): test for bi-directional definition only works if the identifying...
- Resolved by Alexander Schlemmer
- Resolved by Florian Spreckelsen
- Resolved by Florian Spreckelsen
- Resolved by Alexander Schlemmer
- Resolved by Alexander Schlemmer
- Resolved by Alexander Schlemmer
- Resolved by Alexander Schlemmer
- Resolved by Alexander Schlemmer
mentioned in commit 96ae0ada