REF: implement effigies comments on PR 580
import pytest
from bids.layout import BIDSLayout
from os.path import join, abspath, sep
+from pathlib import Path
from bids.tests import get_test_data_path
@@ -12,15 +13,12 @@ def layout():
def test_bold_construction(layout):
ents = dict(subject='01', run=1, task='rest', suffix='bold')
- assert layout.build_path(ents, absolute_paths=False) \
- == "sub-01/func/sub-01_task-rest_run-1_bold.nii.gz", \
- "Check relative path"
- assert layout.build_path(ents) \
- == layout.root + "/sub-01/func/sub-01_task-rest_run-1_bold.nii.gz", \
- "Check absolute (default) path"
- ents['acquisition'] = 'random'
- assert layout.build_path(ents, absolute_paths=False) \
- == "sub-01/func/sub-01_task-rest_acq-random_run-1_bold.nii.gz"
+ relative = Path("sub-01") / "func" / "sub-01_task-rest_run-1_bold.nii.gz"
+ absolute = Path(layout.root) / relative
+ assert layout.build_path(ents, absolute_paths=False) == str(relative)
+ assert layout.build_path(ents, absolute_paths=True) == str(absolute)
+ # layout fixture created with `absolute_paths=True`, defaulting to absolute
+ assert layout.build_path(ents) == str(absolute)
def test_invalid_file_construction(layout):
@@ -30,8 +28,7 @@ def test_invalid_file_construction(layout):
layout.build_path(ents)
target = "sub-01/func/sub-01_task-resting-state_run-1_bold.nii.gz"
- assert layout.build_path(ents, validate=False, absolute_paths=False) \
- == target
+ assert layout.build_path(ents, validate=False, absolute_paths=False) == target
def test_failed_file_construction(layout):
