Skip to content

Commit

Permalink
checking number of persons, files and subjects states too (openMetada…
Browse files Browse the repository at this point in the history
…taInitiative#44)

* checking number of persons and subjects states

* Update test_bids_examples.py
  • Loading branch information
Peyman-N authored May 24, 2024
1 parent a6f82b5 commit 17a4cd2
Showing 1 changed file with 30 additions and 9 deletions.
39 changes: 30 additions & 9 deletions test/test_bids_examples.py
Original file line number Diff line number Diff line change
@@ -1,22 +1,43 @@
import os
import pytest
from openminds import Collection

import bids2openminds.converter

example_dataset = [("ds003", 13), ("ds000247", 6),
("eeg_cbm", 20), ("asl001", 1), ("eeg_rest_fmri", 3)]

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


@pytest.mark.parametrize("dataset_label,dataset_number_subject", example_dataset)
def test_example_datasets(dataset_label, dataset_number_subject):
@pytest.mark.parametrize("dataset_label, dataset_subject_number, dataset_subject_state_number, dataset_person_number, dataset_files_number", example_dataset)
def test_example_datasets(dataset_label, dataset_subject_number, dataset_subject_state_number, dataset_person_number, dataset_files_number):
test_dir = os.path.join("bids-examples", dataset_label)
bids2openminds.converter.convert(test_dir)
c = Collection()
c.load(os.path.join(test_dir, "openminds.jsonld"))

subject_numbers = 0
subject_number = 0
subject_state_number = 0
person_number = 0
files_number = 0

for item in c:
if item.type_ == 'https://openminds.ebrains.eu/core/Subject':
subject_numbers += 1
assert dataset_number_subject == subject_numbers
match item.type_:
case "https://openminds.ebrains.eu/core/Subject":
subject_number += 1
case "https://openminds.ebrains.eu/core/SubjectState":
subject_state_number += 1
case "https://openminds.ebrains.eu/core/Person":
person_number += 1
case "https://openminds.ebrains.eu/core/File":
files_number += 1

assert dataset_subject_number == subject_number
assert dataset_subject_state_number == subject_state_number
assert dataset_person_number == person_number
assert dataset_files_number == files_number

0 comments on commit 17a4cd2

Please sign in to comment.