# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT
from ..preprocess import TShift


def test_TShift_inputs():
    input_map = dict(
        args=dict(
            argstr="%s",
        ),
        environ=dict(
            nohash=True,
            usedefault=True,
        ),
        ignore=dict(
            argstr="-ignore %s",
        ),
        in_file=dict(
            argstr="%s",
            copyfile=False,
            extensions=None,
            mandatory=True,
            position=-1,
        ),
        interp=dict(
            argstr="-%s",
        ),
        num_threads=dict(
            nohash=True,
            usedefault=True,
        ),
        out_file=dict(
            argstr="-prefix %s",
            extensions=None,
            name_source="in_file",
            name_template="%s_tshift",
        ),
        outputtype=dict(),
        rlt=dict(
            argstr="-rlt",
        ),
        rltplus=dict(
            argstr="-rlt+",
        ),
        slice_encoding_direction=dict(
            usedefault=True,
        ),
        slice_timing=dict(
            argstr="-tpattern @%s",
            xor=["tpattern"],
        ),
        tpattern=dict(
            argstr="-tpattern %s",
            xor=["slice_timing"],
        ),
        tr=dict(
            argstr="-TR %s",
        ),
        tslice=dict(
            argstr="-slice %s",
            xor=["tzero"],
        ),
        tzero=dict(
            argstr="-tzero %s",
            xor=["tslice"],
        ),
    )
    inputs = TShift.input_spec()

    for key, metadata in list(input_map.items()):
        for metakey, value in list(metadata.items()):
            assert getattr(inputs.traits()[key], metakey) == value


def test_TShift_outputs():
    output_map = dict(
        out_file=dict(
            extensions=None,
        ),
        timing_file=dict(
            extensions=None,
        ),
    )
    outputs = TShift.output_spec()

    for key, metadata in list(output_map.items()):
        for metakey, value in list(metadata.items()):
            assert getattr(outputs.traits()[key], metakey) == value
