3333
3434TEST_SEED_EXAMPLE = "Can you help me debug this failing unit test?"
3535
36- TEST_TAXONOMY_BASE = "main"
37-
3836TEST_CUSTOM_YAML_RULES = b"""extends: relaxed
3937
4038rules:
@@ -50,26 +48,58 @@ class TestTaxonomy:
5048 def _init_taxonomy (self , taxonomy_dir ):
5149 self .taxonomy = taxonomy_dir
5250
53- def test_read_taxonomy_leaf_nodes (self ):
51+ @pytest .mark .parametrize (
52+ "taxonomy_base, create_tracked_file, create_untracked_file, check_leaf_node_keys" ,
53+ [
54+ ("main" , True , True , ["compositional_skills->new" ]),
55+ ("main" , False , True , ["compositional_skills->new" ]),
56+ ("main" , True , False , []),
57+ ("main" , False , False , []),
58+ ("main^" , True , False , ["compositional_skills->tracked" ]),
59+ (
60+ "main^" ,
61+ True ,
62+ True ,
63+ ["compositional_skills->new" , "compositional_skills->tracked" ],
64+ ),
65+ ("empty" , True , False , ["compositional_skills->tracked" ]),
66+ (
67+ "empty" ,
68+ True ,
69+ True ,
70+ ["compositional_skills->new" , "compositional_skills->tracked" ],
71+ ),
72+ ],
73+ )
74+ def test_read_taxonomy_leaf_nodes (
75+ self ,
76+ taxonomy_base ,
77+ create_tracked_file ,
78+ create_untracked_file ,
79+ check_leaf_node_keys ,
80+ ):
5481 tracked_file = "compositional_skills/tracked/qna.yaml"
5582 untracked_file = "compositional_skills/new/qna.yaml"
56- self .taxonomy .add_tracked (tracked_file , TEST_VALID_COMPOSITIONAL_SKILL_YAML )
57- self .taxonomy .create_untracked (
58- untracked_file , TEST_VALID_COMPOSITIONAL_SKILL_YAML
59- )
83+ if create_tracked_file :
84+ self .taxonomy .add_tracked (tracked_file , TEST_VALID_COMPOSITIONAL_SKILL_YAML )
85+ if create_untracked_file :
86+ self .taxonomy .create_untracked (
87+ untracked_file , TEST_VALID_COMPOSITIONAL_SKILL_YAML
88+ )
6089
61- leaf_node = taxonomy .read_taxonomy_leaf_nodes (
62- self .taxonomy .root , TEST_TAXONOMY_BASE , TEST_CUSTOM_YAML_RULES
63- )
64- leaf_node_key = str (pathlib .Path (untracked_file ).parent ).replace (
65- os .path .sep , "->"
90+ leaf_nodes = taxonomy .read_taxonomy_leaf_nodes (
91+ self .taxonomy .root , taxonomy_base , TEST_CUSTOM_YAML_RULES
6692 )
67- assert leaf_node_key in leaf_node
6893
69- leaf_node_entries = leaf_node .get (leaf_node_key )
70- seed_example_exists = False
71- if any (
72- entry ["instruction" ] == TEST_SEED_EXAMPLE for entry in leaf_node_entries
73- ):
74- seed_example_exists = True
75- assert seed_example_exists is True
94+ assert len (leaf_nodes ) == len (check_leaf_node_keys )
95+
96+ for leaf_node_key in check_leaf_node_keys :
97+ assert leaf_node_key in leaf_nodes
98+
99+ leaf_node_entries = leaf_nodes .get (leaf_node_key )
100+ seed_example_exists = False
101+ if any (
102+ entry ["instruction" ] == TEST_SEED_EXAMPLE for entry in leaf_node_entries
103+ ):
104+ seed_example_exists = True
105+ assert seed_example_exists is True
0 commit comments