|
1 | 1 | import os
|
2 | 2 | import pytest
|
3 | 3 | from openminds import Collection
|
4 |
| - |
5 | 4 | import bids2openminds.converter
|
6 | 5 |
|
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)] |
9 | 15 |
|
10 | 16 |
|
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): |
13 | 19 | test_dir = os.path.join("bids-examples", dataset_label)
|
14 | 20 | bids2openminds.converter.convert(test_dir)
|
15 | 21 | c = Collection()
|
16 | 22 | c.load(os.path.join(test_dir, "openminds.jsonld"))
|
17 | 23 |
|
18 |
| - subject_numbers = 0 |
| 24 | + subject_number = 0 |
| 25 | + subject_state_number = 0 |
| 26 | + person_number = 0 |
| 27 | + files_number = 0 |
| 28 | + |
19 | 29 | 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