# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT
from ..model import Deconvolve


def test_Deconvolve_inputs():
    input_map = dict(
        STATmask=dict(argstr="-STATmask %s", extensions=None,),
        TR_1D=dict(argstr="-TR_1D %f",),
        allzero_OK=dict(argstr="-allzero_OK",),
        args=dict(argstr="%s",),
        automask=dict(argstr="-automask",),
        cbucket=dict(argstr="-cbucket %s",),
        censor=dict(argstr="-censor %s", extensions=None,),
        dmbase=dict(argstr="-dmbase",),
        dname=dict(argstr="-D%s=%s",),
        environ=dict(nohash=True, usedefault=True,),
        force_TR=dict(argstr="-force_TR %f", position=0,),
        fout=dict(argstr="-fout",),
        global_times=dict(argstr="-global_times", xor=["local_times"],),
        glt_label=dict(argstr="-glt_label %d %s...", position=-1, requires=["gltsym"],),
        gltsym=dict(argstr="-gltsym 'SYM: %s'...", position=-2,),
        goforit=dict(argstr="-GOFORIT %i",),
        in_files=dict(argstr="-input %s", copyfile=False, position=1, sep=" ",),
        input1D=dict(argstr="-input1D %s", extensions=None,),
        legendre=dict(argstr="-legendre",),
        local_times=dict(argstr="-local_times", xor=["global_times"],),
        mask=dict(argstr="-mask %s", extensions=None,),
        noblock=dict(argstr="-noblock",),
        nocond=dict(argstr="-nocond",),
        nodmbase=dict(argstr="-nodmbase",),
        nofdr=dict(argstr="-noFDR",),
        nolegendre=dict(argstr="-nolegendre",),
        nosvd=dict(argstr="-nosvd",),
        num_glt=dict(argstr="-num_glt %d", position=-3,),
        num_stimts=dict(argstr="-num_stimts %d", position=-6,),
        num_threads=dict(argstr="-jobs %d", nohash=True,),
        ortvec=dict(argstr="-ortvec %s %s",),
        out_file=dict(argstr="-bucket %s", extensions=None,),
        outputtype=dict(),
        polort=dict(argstr="-polort %d",),
        rmsmin=dict(argstr="-rmsmin %f",),
        rout=dict(argstr="-rout",),
        sat=dict(argstr="-sat", xor=["trans"],),
        singvals=dict(argstr="-singvals",),
        stim_label=dict(
            argstr="-stim_label %d %s...", position=-4, requires=["stim_times"],
        ),
        stim_times=dict(argstr="-stim_times %d %s '%s'...", position=-5,),
        stim_times_subtract=dict(argstr="-stim_times_subtract %f",),
        svd=dict(argstr="-svd",),
        tout=dict(argstr="-tout",),
        trans=dict(argstr="-trans", xor=["sat"],),
        vout=dict(argstr="-vout",),
        x1D=dict(argstr="-x1D %s", extensions=None,),
        x1D_stop=dict(argstr="-x1D_stop",),
    )
    inputs = Deconvolve.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_Deconvolve_outputs():
    output_map = dict(
        cbucket=dict(extensions=None,),
        out_file=dict(extensions=None,),
        reml_script=dict(extensions=None,),
        x1D=dict(extensions=None,),
    )
    outputs = Deconvolve.output_spec()

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