@@ -5,86 +5,141 @@ class Indicator:
55 def __init__ (self , somef , cd , cf , gh ):
66
77 self .test_functions = {
8- "RSFC-01" : [
9- (rt .test_id_presence_and_resolves , [somef .somef_data ]),
10- (rt .test_id_associated_with_software , [somef .somef_data , cd .codemeta_data , cf .cff_data ]),
8+ "RSFC-01-1" : [
9+ (rt .test_id_presence_and_resolves , [somef .somef_data ])
10+ ],
11+ "RSFC-01-2" : [
12+ (rt .test_id_associated_with_software , [somef .somef_data , cd .codemeta_data , cf .cff_data ])
13+ ],
14+ "RSFC-01-3" : [
1115 (rt .test_id_common_schema , [somef .somef_data ])
1216 ],
13- "RSFC-03" : [
14- (rt .test_has_releases , [somef .somef_data ]),
15- (rt .test_release_id_and_version , [somef .somef_data ]),
16- (rt .test_semantic_versioning_standard , [somef .somef_data ]),
17- (rt .test_version_scheme , [somef .somef_data ]),
18- (rt .test_latest_release_consistency , [somef .somef_data ]),
17+ "RSFC-03-1" : [
18+ (rt .test_has_releases , [somef .somef_data ])
19+ ],
20+ "RSFC-03-2" : [
21+ (rt .test_release_id_and_version , [somef .somef_data ])
22+ ],
23+ "RSFC-03-3" : [
24+ (rt .test_semantic_versioning_standard , [somef .somef_data ])
25+ ],
26+ "RSFC-03-4" : [
27+ (rt .test_version_scheme , [somef .somef_data ])
28+ ],
29+ "RSFC-03-5" : [
30+ (rt .test_latest_release_consistency , [somef .somef_data ])
31+ ],
32+ "RSFC-03-6" : [
1933 (rt .test_version_number_in_metadata , [somef .somef_data , cd .codemeta_data , cf .cff_data ])
2034 ],
21- "RSFC-04" : [
22- (rt .test_metadata_exists , [somef .somef_data , cd .codemeta_data , cf .cff_data ]),
23- (rt .test_readme_exists , [somef .somef_data ]),
24- (rt .test_title_description , [somef .somef_data ]),
25- (rt .test_descriptive_metadata , [somef .somef_data ]),
35+ "RSFC-04-1" : [
36+ (rt .test_metadata_exists , [somef .somef_data , cd .codemeta_data , cf .cff_data ])
37+ ],
38+ "RSFC-04-2" : [
39+ (rt .test_readme_exists , [somef .somef_data ])
40+ ],
41+ "RSFC-04-3" : [
42+ (rt .test_title_description , [somef .somef_data ])
43+ ],
44+ "RSFC-04-4" : [
45+ (rt .test_descriptive_metadata , [somef .somef_data ])
46+ ],
47+ "RSFC-04-5" : [
2648 (rt .test_codemeta_exists , [cd .codemeta_data ])
2749 ],
28- "RSFC-05" : [
29- (rt .test_repo_status , [somef .somef_data ]),
30- (rt .test_contact_support_documentation , [somef .somef_data ]),
50+ "RSFC-05-1" : [
51+ (rt .test_repo_status , [somef .somef_data ])
52+ ],
53+ "RSFC-05-2" : [
54+ (rt .test_contact_support_documentation , [somef .somef_data ])
55+ ],
56+ "RSFC-05-3" : [
3157 (rt .test_software_documentation , [somef .somef_data ])
3258 ],
33- "RSFC-06" : [
34- (rt .test_authors , [somef .somef_data , cd .codemeta_data , cf .cff_data ]),
35- (rt .test_contributors , [somef .somef_data , cd .codemeta_data ]),
36- (rt .test_authors_orcids , [cd .codemeta_data , cf .cff_data ]),
59+ "RSFC-06-1" : [
60+ (rt .test_authors , [somef .somef_data , cd .codemeta_data , cf .cff_data ])
61+ ],
62+ "RSFC-06-2" : [
63+ (rt .test_contributors , [somef .somef_data , cd .codemeta_data ])
64+ ],
65+ "RSFC-06-3" : [
66+ (rt .test_authors_orcids , [cd .codemeta_data , cf .cff_data ])
67+ ],
68+ "RSFC-06-4" : [
3769 (rt .test_author_roles , [cd .codemeta_data ])
3870 ],
39- "RSFC-07" : [
40- (rt .test_identifier_in_readme_citation , [somef .somef_data , cf .cff_data ]),
71+ "RSFC-07-1" : [
72+ (rt .test_identifier_in_readme_citation , [somef .somef_data , cf .cff_data ])
73+ ],
74+ "RSFC-07-2" : [
4175 (rt .test_identifier_resolves_to_software , [somef .somef_data , cd .codemeta_data , cf .cff_data , gh .repo_url ])
4276 ],
43- "RSFC-08" : [
77+ "RSFC-08-1 " : [
4478 (rt .test_metadata_record_in_zenodo_or_software_heritage , [somef .somef_data ])
4579 ],
46- "RSFC-09" : [
80+ "RSFC-09-1 " : [
4781 (rt .test_is_github_repository , [gh .repo_url ])
4882 ],
49- "RSFC-12" : [
83+ "RSFC-12-1 " : [
5084 (rt .test_reference_publication , [somef .somef_data , cd .codemeta_data ])
5185 ],
52- "RSFC-13" : [
53- (rt .test_dependencies_declared , [somef .somef_data ]),
54- (rt .test_installation_instructions , [somef .somef_data ]),
55- (rt .test_dependencies_have_version , [somef .somef_data ]),
86+ "RSFC-13-1" : [
87+ (rt .test_dependencies_declared , [somef .somef_data ])
88+ ],
89+ "RSFC-13-2" : [
90+ (rt .test_installation_instructions , [somef .somef_data ])
91+ ],
92+ "RSFC-13-3" : [
93+ (rt .test_dependencies_have_version , [somef .somef_data ])
94+ ],
95+ "RSFC-13-4" : [
5696 (rt .test_dependencies_in_machine_readable_file , [somef .somef_data ])
5797 ],
58- "RSFC-14" : [
59- (rt .test_presence_of_tests , [gh ]),
98+ "RSFC-14-1" : [
99+ (rt .test_presence_of_tests , [gh ])
100+ ],
101+ "RSFC-14-2" : [
60102 (rt .test_github_action_tests , [somef .somef_data ])
61103 ],
62- "RSFC-15" : [
63- (rt .test_has_license , [somef .somef_data ]),
64- (rt .test_license_spdx_compliant , [somef .somef_data ]),
104+ "RSFC-15-1" : [
105+ (rt .test_has_license , [somef .somef_data ])
106+ ],
107+ "RSFC-15-2" : [
108+ (rt .test_license_spdx_compliant , [somef .somef_data ])
109+ ],
110+ "RSFC-15-3" : [
65111 (rt .test_license_information_provided , [somef .somef_data ])
66112 ],
67- "RSFC-16" : [
113+ "RSFC-16-1 " : [
68114 (rt .test_license_info_in_metadata_files , [somef .somef_data , cd .codemeta_data , cf .cff_data ])
69115 ],
70- "RSFC-17" : [
71- (rt .test_repo_enabled_and_commits , [somef .somef_data , gh ]),
72- (rt .test_commit_history , [gh ]),
116+ "RSFC-17-1" : [
117+ (rt .test_repo_enabled_and_commits , [somef .somef_data , gh ])
118+ ],
119+ "RSFC-17-2" : [
120+ (rt .test_commit_history , [gh ])
121+ ],
122+ "RSFC-17-3" : [
73123 (rt .test_commits_linked_issues , [gh ])
74124 ],
75- "RSFC-18" : [
125+ "RSFC-18-1 " : [
76126 (rt .test_has_citation , [somef .somef_data ])
77127 ],
78- "RSFC-19" : [
128+ "RSFC-19-1 " : [
79129 (rt .test_repository_workflows , [somef .somef_data ])
80130 ]
81131 }
82132
83- def assess_indicators (self ):
133+ def assess_indicators (self , test_id ):
84134 results = []
85- for id in self .test_functions :
86- for func , args in self .test_functions [id ]:
87- result = func (* args )
88- results .append (result )
135+ if test_id != None :
136+ func , args = self .test_functions [test_id ][0 ]
137+ result = func (* args )
138+ results .append (result )
139+ else :
140+ for id in self .test_functions :
141+ for func , args in self .test_functions [id ]:
142+ result = func (* args )
143+ results .append (result )
89144
90145 return results
0 commit comments