# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT
from ..asl import FitAsl


def test_FitAsl_inputs():
    input_map = dict(
        args=dict(argstr="%s",),
        cbf_file=dict(
            argstr="-cbf %s",
            extensions=None,
            name_source=["source_file"],
            name_template="%s_cbf.nii.gz",
        ),
        dpld=dict(argstr="-dPLD %f",),
        dt_inv2=dict(argstr="-dTinv2 %f",),
        eff=dict(argstr="-eff %f",),
        environ=dict(nohash=True, usedefault=True,),
        error_file=dict(
            argstr="-error %s",
            extensions=None,
            name_source=["source_file"],
            name_template="%s_error.nii.gz",
        ),
        gm_plasma=dict(argstr="-gmL %f",),
        gm_t1=dict(argstr="-gmT1 %f",),
        gm_ttt=dict(argstr="-gmTTT %f",),
        ir_output=dict(argstr="-IRoutput %s", extensions=None,),
        ir_volume=dict(argstr="-IRvolume %s", extensions=None,),
        ldd=dict(argstr="-LDD %f",),
        m0map=dict(argstr="-m0map %s", extensions=None,),
        m0mape=dict(argstr="-m0mape %s", extensions=None,),
        mask=dict(argstr="-mask %s", extensions=None, position=2,),
        mul=dict(argstr="-mul %f",),
        mulgm=dict(argstr="-sig",),
        out=dict(argstr="-out %f",),
        pasl=dict(argstr="-pasl",),
        pcasl=dict(argstr="-pcasl",),
        plasma_coeff=dict(argstr="-L %f",),
        pld=dict(argstr="-PLD %f",),
        pv0=dict(argstr="-pv0 %d",),
        pv2=dict(argstr="-pv2 %d",),
        pv3=dict(argstr="-pv3 %d %d %d",),
        pv_threshold=dict(argstr="-pvthreshold",),
        seg=dict(argstr="-seg %s", extensions=None,),
        segstyle=dict(argstr="-segstyle",),
        sig=dict(argstr="-sig",),
        source_file=dict(
            argstr="-source %s", extensions=None, mandatory=True, position=1,
        ),
        syn_file=dict(
            argstr="-syn %s",
            extensions=None,
            name_source=["source_file"],
            name_template="%s_syn.nii.gz",
        ),
        t1_art_cmp=dict(argstr="-T1a %f",),
        t1map=dict(argstr="-t1map %s", extensions=None,),
        t_inv1=dict(argstr="-Tinv1 %f",),
        t_inv2=dict(argstr="-Tinv2 %f",),
        wm_plasma=dict(argstr="-wmL %f",),
        wm_t1=dict(argstr="-wmT1 %f",),
        wm_ttt=dict(argstr="-wmTTT %f",),
    )
    inputs = FitAsl.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_FitAsl_outputs():
    output_map = dict(
        cbf_file=dict(extensions=None,),
        error_file=dict(extensions=None,),
        syn_file=dict(extensions=None,),
    )
    outputs = FitAsl.output_spec()

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