ripple-down-rules 0.5.44__tar.gz → 0.5.51__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/PKG-INFO +2 -2
  2. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/README.md +1 -1
  3. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/doc/intro.md +1 -1
  4. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/src/ripple_down_rules/__init__.py +1 -1
  5. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/src/ripple_down_rules/user_interface/template_file_creator.py +1 -0
  6. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/src/ripple_down_rules.egg-info/PKG-INFO +2 -2
  7. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_rdr.py +3 -3
  8. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_template_file_creator.py +2 -1
  9. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/.github/workflows/build_and_deploy_doc.yml +0 -0
  10. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/.github/workflows/ci.yml +0 -0
  11. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/.github/workflows/publish-to-test-pypi.yml +0 -0
  12. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/.idea/shelf/Uncommitted_changes_before_Checkout_at_2_4_25,_6_32_PM_[Changes]/shelved.patch +0 -0
  13. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/.idea/shelf/Uncommitted_changes_before_Checkout_at_2_4_25,_6_32_PM_[Changes]1/shelved.patch +0 -0
  14. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/LICENSE +0 -0
  15. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/doc/_config.yml +0 -0
  16. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/doc/_toc.yml +0 -0
  17. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/doc/bibliography.md +0 -0
  18. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/doc/references.bib +0 -0
  19. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/doc/requirements.txt +0 -0
  20. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/examples/__init__.py +0 -0
  21. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/examples/animal_species.py +0 -0
  22. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/examples/part_containment_rdr/__init__.py +0 -0
  23. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/examples/part_containment_rdr/rdr_metadata/part_containment_rdr.json +0 -0
  24. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/examples/part_containment_rdr/robot_contained_objects_mcrdr.py +0 -0
  25. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/examples/part_containment_rdr/robot_contained_objects_mcrdr_defs.py +0 -0
  26. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/examples/part_containment_rdr/robot_rdr.py +0 -0
  27. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/examples/relational_example.py +0 -0
  28. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/images/scrdr.dot +0 -0
  29. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/images/scrdr.png +0 -0
  30. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/images/thinking_pr2.jpg +0 -0
  31. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/pyproject.toml +0 -0
  32. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/pytest.ini +0 -0
  33. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/requirements-dev-ci.txt +0 -0
  34. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/requirements-dev.txt +0 -0
  35. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/requirements-gui.txt +0 -0
  36. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/requirements-viz.txt +0 -0
  37. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/requirements.txt +0 -0
  38. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/complete_mcrdr_extra.dot +0 -0
  39. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/complete_mcrdr_extra.png +0 -0
  40. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/complete_mcrdr_stop_only.dot +0 -0
  41. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/complete_mcrdr_stop_only.png +0 -0
  42. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/complete_mcrdr_stop_plus_rule.dot +0 -0
  43. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/complete_mcrdr_stop_plus_rule.png +0 -0
  44. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/complete_scrdr.dot +0 -0
  45. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/complete_scrdr.png +0 -0
  46. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/complete_scrdr_2.dot +0 -0
  47. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/complete_scrdr_2.png +0 -0
  48. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/complete_scrdr_3.dot +0 -0
  49. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/complete_scrdr_3.png +0 -0
  50. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/grdr_Habitat.dot +0 -0
  51. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/grdr_Habitat.png +0 -0
  52. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/grdr_Species.dot +0 -0
  53. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/grdr_Species.png +0 -0
  54. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/mcrdr_extra.dot +0 -0
  55. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/mcrdr_extra.png +0 -0
  56. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/mcrdr_extra_classify.dot +0 -0
  57. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/mcrdr_extra_classify.png +0 -0
  58. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/mcrdr_stop_plus_rule_combined.dot +0 -0
  59. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/mcrdr_stop_plus_rule_combined.png +0 -0
  60. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/partial_mcrdr_extra.dot +0 -0
  61. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/partial_mcrdr_extra.png +0 -0
  62. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/relational_scrdr_classify.dot +0 -0
  63. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/results/relational_scrdr_classify.png +0 -0
  64. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/setup.cfg +0 -0
  65. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/src/ripple_down_rules/datastructures/__init__.py +0 -0
  66. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/src/ripple_down_rules/datastructures/callable_expression.py +0 -0
  67. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/src/ripple_down_rules/datastructures/case.py +0 -0
  68. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/src/ripple_down_rules/datastructures/dataclasses.py +0 -0
  69. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/src/ripple_down_rules/datastructures/enums.py +0 -0
  70. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/src/ripple_down_rules/experts.py +0 -0
  71. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/src/ripple_down_rules/helpers.py +0 -0
  72. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/src/ripple_down_rules/rdr.py +0 -0
  73. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/src/ripple_down_rules/rdr_decorators.py +0 -0
  74. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/src/ripple_down_rules/rules.py +0 -0
  75. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/src/ripple_down_rules/start-code-server.sh +0 -0
  76. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/src/ripple_down_rules/user_interface/__init__.py +0 -0
  77. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/src/ripple_down_rules/user_interface/gui.py +0 -0
  78. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/src/ripple_down_rules/user_interface/ipython_custom_shell.py +0 -0
  79. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/src/ripple_down_rules/user_interface/object_diagram.py +0 -0
  80. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/src/ripple_down_rules/user_interface/prompt.py +0 -0
  81. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/src/ripple_down_rules/utils.py +0 -0
  82. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/src/ripple_down_rules.egg-info/SOURCES.txt +0 -0
  83. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/src/ripple_down_rules.egg-info/dependency_links.txt +0 -0
  84. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/src/ripple_down_rules.egg-info/requires.txt +0 -0
  85. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/src/ripple_down_rules.egg-info/top_level.txt +0 -0
  86. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/datasets.py +0 -0
  87. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_expert_answers/correct_drawer_rdr_expert_answers_fit.json +0 -0
  88. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_expert_answers/grdr_expert_answers_classify.json +0 -0
  89. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_expert_answers/grdr_expert_answers_fit.json +0 -0
  90. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_expert_answers/grdr_expert_answers_fit_extra.json +0 -0
  91. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_expert_answers/grdr_expert_answers_fit_no_targets.json +0 -0
  92. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_expert_answers/mcrdr_expert_answers_classify.json +0 -0
  93. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_expert_answers/mcrdr_expert_answers_fit_no_targets.json +0 -0
  94. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_expert_answers/mcrdr_expert_answers_stop_only_fit.json +0 -0
  95. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_expert_answers/mcrdr_extra_expert_answers_classify.json +0 -0
  96. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_expert_answers/mcrdr_extra_expert_answers_fit.json +0 -0
  97. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_expert_answers/mcrdr_multi_line_expert_answers_fit.json +0 -0
  98. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_expert_answers/mcrdr_stop_only_answers_fit.json +0 -0
  99. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_expert_answers/mcrdr_stop_plus_rule_answers_fit.json +0 -0
  100. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_expert_answers/mcrdr_stop_plus_rule_combined_expert_answers_fit.json +0 -0
  101. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_expert_answers/mcrdr_stop_plus_rule_expert_answers_fit.json +0 -0
  102. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_expert_answers/mutagenic_expert_answers.json +0 -0
  103. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_expert_answers/relational_scrdr_expert_answers_classify.json +0 -0
  104. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_expert_answers/scrdr_expert_answers_classify.json +0 -0
  105. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_expert_answers/scrdr_expert_answers_fit.json +0 -0
  106. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_expert_answers/scrdr_expert_answers_fit_no_targets.json +0 -0
  107. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_expert_answers/scrdr_multi_line_expert_answers_fit.json +0 -0
  108. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_expert_answers/scrdr_world_expert_answers_fit.json +0 -0
  109. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_expert_answers/view_rdr_expert_answers_fit.json +0 -0
  110. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_generated_rdrs/__init__.py +0 -0
  111. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_helpers/__init__.py +0 -0
  112. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_helpers/helpers.py +0 -0
  113. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_helpers/object_diagram_case_query.png +0 -0
  114. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_helpers/object_diagram_person.png +0 -0
  115. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_json_serialization.py +0 -0
  116. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_object_diagram.py +0 -0
  117. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_on_mutagenic.py +0 -0
  118. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_rdr_alchemy.py +0 -0
  119. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_rdr_decorators.py +0 -0
  120. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_rdr_world.py +0 -0
  121. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_relational_rdr.py +0 -0
  122. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_relational_rdr_alchemy.py +0 -0
  123. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_results/datasets_physical_object_is_a_robot/__init__.py +0 -0
  124. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_results/datasets_physical_object_is_a_robot/physical_object_is_a_robot_output__scrdr.py +0 -0
  125. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_results/datasets_physical_object_is_a_robot/physical_object_is_a_robot_output__scrdr_defs.py +0 -0
  126. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_results/datasets_physical_object_is_a_robot/physical_object_is_a_robot_rdr.py +0 -0
  127. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_results/datasets_physical_object_is_a_robot/rdr_metadata/datasets_physical_object_is_a_robot.json +0 -0
  128. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_results/datasets_physical_object_select_objects_that_are_parts_of_robot/__init__.py +0 -0
  129. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_results/datasets_physical_object_select_objects_that_are_parts_of_robot/physical_object_select_objects_that_are_parts_of_robot_output__mcrdr.py +0 -0
  130. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_results/datasets_physical_object_select_objects_that_are_parts_of_robot/physical_object_select_objects_that_are_parts_of_robot_output__mcrdr_defs.py +0 -0
  131. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_results/datasets_physical_object_select_objects_that_are_parts_of_robot/physical_object_select_objects_that_are_parts_of_robot_rdr.py +0 -0
  132. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_results/datasets_physical_object_select_objects_that_are_parts_of_robot/rdr_metadata/datasets_physical_object_select_objects_that_are_parts_of_robot.json +0 -0
  133. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_sql_model.py +0 -0
  134. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_user_interface/__init__.py +0 -0
  135. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_user_interface/test_ipython.py +0 -0
  136. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_user_interface/test_ipython_copilot.py +0 -0
  137. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_user_interface/test_qt_gui_inline.py +0 -0
  138. {ripple_down_rules-0.5.44 → ripple_down_rules-0.5.51}/test/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ripple_down_rules
3
- Version: 0.5.44
3
+ Version: 0.5.51
4
4
  Summary: Implements the various versions of Ripple Down Rules (RDR) for knowledge representation and reasoning.
5
5
  Author-email: Abdelrhman Bassiouny <abassiou@uni-bremen.de>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -808,7 +808,7 @@ then
808
808
  return case.aquatic == 1
809
809
  ```
810
810
 
811
- The rule tree generated from that will look like this:
811
+ The rule tree generated from fitting all the dataset will look like this:
812
812
  ![species_rdr](https://raw.githubusercontent.com/AbdelrhmanBassiouny/ripple_down_rules/main/images/scrdr.png)
813
813
 
814
814
 
@@ -104,7 +104,7 @@ then
104
104
  return case.aquatic == 1
105
105
  ```
106
106
 
107
- The rule tree generated from that will look like this:
107
+ The rule tree generated from fitting all the dataset will look like this:
108
108
  ![species_rdr](https://raw.githubusercontent.com/AbdelrhmanBassiouny/ripple_down_rules/main/images/scrdr.png)
109
109
 
110
110
 
@@ -207,7 +207,7 @@ then
207
207
  return case.aquatic == 1
208
208
  ```
209
209
 
210
- The rule tree generated from that will look like this:
210
+ The rule tree generated from fitting all the dataset will look like this:
211
211
  ![species_rdr](https://raw.githubusercontent.com/AbdelrhmanBassiouny/ripple_down_rules/main/images/scrdr.png)
212
212
 
213
213
 
@@ -1,4 +1,4 @@
1
- __version__ = "0.5.44"
1
+ __version__ = "0.5.51"
2
2
 
3
3
  import logging
4
4
  logger = logging.Logger("rdr")
@@ -300,6 +300,7 @@ class TemplateFileCreator:
300
300
  if isinstance(node, ast.FunctionDef) and node.name == func_name:
301
301
  exec_globals = {}
302
302
  scope = extract_imports(tree=tree)
303
+ updates.update(scope)
303
304
  exec(source, scope, exec_globals)
304
305
  user_function = exec_globals[func_name]
305
306
  updates[func_name] = user_function
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ripple_down_rules
3
- Version: 0.5.44
3
+ Version: 0.5.51
4
4
  Summary: Implements the various versions of Ripple Down Rules (RDR) for knowledge representation and reasoning.
5
5
  Author-email: Abdelrhman Bassiouny <abassiou@uni-bremen.de>
6
6
  License: GNU GENERAL PUBLIC LICENSE
@@ -808,7 +808,7 @@ then
808
808
  return case.aquatic == 1
809
809
  ```
810
810
 
811
- The rule tree generated from that will look like this:
811
+ The rule tree generated from fitting all the dataset will look like this:
812
812
  ![species_rdr](https://raw.githubusercontent.com/AbdelrhmanBassiouny/ripple_down_rules/main/images/scrdr.png)
813
813
 
814
814
 
@@ -65,12 +65,12 @@ class TestRDR(TestCase):
65
65
  expert.save_answers(file)
66
66
 
67
67
  def test_fit_scrdr(self):
68
- scrdr, _ = get_fit_scrdr(self.all_cases, self.targets, draw_tree=True,
68
+ scrdr, _ = get_fit_scrdr(self.all_cases, self.targets, draw_tree=False,
69
69
  expert_answers_dir=self.expert_answers_dir,
70
70
  expert_answers_file="scrdr_expert_answers_fit",
71
71
  load_answers=True)
72
- render_tree(scrdr.start_rule, use_dot_exporter=True,
73
- filename=self.test_results_dir + f"/scrdr")
72
+ # render_tree(scrdr.start_rule, use_dot_exporter=True,
73
+ # filename=self.test_results_dir + f"/scrdr")
74
74
 
75
75
  def test_save_load_scrdr(self):
76
76
 
@@ -7,6 +7,7 @@ from ripple_down_rules.datastructures.dataclasses import CaseQuery
7
7
  from ripple_down_rules.datastructures.enums import PromptFor
8
8
  from ripple_down_rules.rdr_decorators import RDRDecorator
9
9
  from ripple_down_rules.user_interface.template_file_creator import TemplateFileCreator
10
+ from ripple_down_rules.utils import make_set
10
11
  from test_rdr_world import World, Handle, Container
11
12
  from datasets import Part, PhysicalObject, Robot
12
13
 
@@ -81,6 +82,6 @@ def test_load():
81
82
  f.write(source_code)
82
83
  code_lines, updates = TemplateFileCreator.load("test.py", "test_func")
83
84
  assert code_lines == func_code.splitlines()
84
- assert list(updates.keys()) == ["test_func"]
85
+ assert make_set(updates.keys()) == {"test_func", "World"}
85
86
  assert updates["test_func"](world) == world
86
87
  os.remove("test.py")