Skip to content

Commit 17a4cd2

Browse files
authored
checking number of persons, files and subjects states too (#44)
* checking number of persons and subjects states * Update test_bids_examples.py
1 parent a6f82b5 commit 17a4cd2

File tree

1 file changed

+30
-9
lines changed

1 file changed

+30
-9
lines changed

test/test_bids_examples.py

+30-9
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,43 @@
11
import os
22
import pytest
33
from openminds import Collection
4-
54
import bids2openminds.converter
65

7-
example_dataset = [("ds003", 13), ("ds000247", 6),
8-
("eeg_cbm", 20), ("asl001", 1), ("eeg_rest_fmri", 3)]
6+
7+
# Dataset information in following order dataset_label, dataset_subject_number, dataset_subject_state_number, dataset_person_number, dataset_files_number
8+
example_dataset = [("ds003", 13, 13, 2, 58),
9+
("ds000247", 6, 10, 5, 202),
10+
# The authors list in 'eeg_cbm' contains non person entities 2 is not correct name (issue raied #43)
11+
("eeg_cbm", 20, 20, 2, 104),
12+
("asl001", 1, 1, 2, 8),
13+
# Number of files in 'eeg_rest_fmri' is not correct as it doesn't contain files in derivated (issue raied #42)
14+
("eeg_rest_fmri", 3, 3, 6, 46)]
915

1016

11-
@pytest.mark.parametrize("dataset_label,dataset_number_subject", example_dataset)
12-
def test_example_datasets(dataset_label, dataset_number_subject):
17+
@pytest.mark.parametrize("dataset_label, dataset_subject_number, dataset_subject_state_number, dataset_person_number, dataset_files_number", example_dataset)
18+
def test_example_datasets(dataset_label, dataset_subject_number, dataset_subject_state_number, dataset_person_number, dataset_files_number):
1319
test_dir = os.path.join("bids-examples", dataset_label)
1420
bids2openminds.converter.convert(test_dir)
1521
c = Collection()
1622
c.load(os.path.join(test_dir, "openminds.jsonld"))
1723

18-
subject_numbers = 0
24+
subject_number = 0
25+
subject_state_number = 0
26+
person_number = 0
27+
files_number = 0
28+
1929
for item in c:
20-
if item.type_ == 'https://openminds.ebrains.eu/core/Subject':
21-
subject_numbers += 1
22-
assert dataset_number_subject == subject_numbers
30+
match item.type_:
31+
case "https://openminds.ebrains.eu/core/Subject":
32+
subject_number += 1
33+
case "https://openminds.ebrains.eu/core/SubjectState":
34+
subject_state_number += 1
35+
case "https://openminds.ebrains.eu/core/Person":
36+
person_number += 1
37+
case "https://openminds.ebrains.eu/core/File":
38+
files_number += 1
39+
40+
assert dataset_subject_number == subject_number
41+
assert dataset_subject_state_number == subject_state_number
42+
assert dataset_person_number == person_number
43+
assert dataset_files_number == files_number

0 commit comments

Comments
 (0)