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


def test_MELODIC_inputs():
    input_map = dict(
        ICs=dict(
            argstr='--ICs=%s',
            extensions=None,
        ),
        approach=dict(argstr='-a %s', ),
        args=dict(argstr='%s', ),
        bg_image=dict(
            argstr='--bgimage=%s',
            extensions=None,
        ),
        bg_threshold=dict(argstr='--bgthreshold=%f', ),
        cov_weight=dict(argstr='--covarweight=%f', ),
        dim=dict(argstr='-d %d', ),
        dim_est=dict(argstr='--dimest=%s', ),
        environ=dict(
            nohash=True,
            usedefault=True,
        ),
        epsilon=dict(argstr='--eps=%f', ),
        epsilonS=dict(argstr='--epsS=%f', ),
        in_files=dict(
            argstr='-i %s',
            mandatory=True,
            position=0,
            sep=',',
        ),
        log_power=dict(argstr='--logPower', ),
        mask=dict(
            argstr='-m %s',
            extensions=None,
        ),
        max_restart=dict(argstr='--maxrestart=%d', ),
        maxit=dict(argstr='--maxit=%d', ),
        migp=dict(argstr='--migp', ),
        migpN=dict(argstr='--migpN %d', ),
        migp_factor=dict(argstr='--migp_factor %d', ),
        migp_shuffle=dict(argstr='--migp_shuffle', ),
        mix=dict(
            argstr='--mix=%s',
            extensions=None,
        ),
        mm_thresh=dict(argstr='--mmthresh=%f', ),
        no_bet=dict(argstr='--nobet', ),
        no_mask=dict(argstr='--nomask', ),
        no_mm=dict(argstr='--no_mm', ),
        non_linearity=dict(argstr='--nl=%s', ),
        num_ICs=dict(argstr='-n %d', ),
        out_all=dict(argstr='--Oall', ),
        out_dir=dict(
            argstr='-o %s',
            genfile=True,
        ),
        out_mean=dict(argstr='--Omean', ),
        out_orig=dict(argstr='--Oorig', ),
        out_pca=dict(argstr='--Opca', ),
        out_stats=dict(argstr='--Ostats', ),
        out_unmix=dict(argstr='--Ounmix', ),
        out_white=dict(argstr='--Owhite', ),
        output_type=dict(),
        pbsc=dict(argstr='--pbsc', ),
        rem_cmp=dict(argstr='-f %d', ),
        remove_deriv=dict(argstr='--remove_deriv', ),
        report=dict(argstr='--report', ),
        report_maps=dict(argstr='--report_maps=%s', ),
        s_con=dict(
            argstr='--Scon=%s',
            extensions=None,
        ),
        s_des=dict(
            argstr='--Sdes=%s',
            extensions=None,
        ),
        sep_vn=dict(argstr='--sep_vn', ),
        sep_whiten=dict(argstr='--sep_whiten', ),
        smode=dict(
            argstr='--smode=%s',
            extensions=None,
        ),
        t_con=dict(
            argstr='--Tcon=%s',
            extensions=None,
        ),
        t_des=dict(
            argstr='--Tdes=%s',
            extensions=None,
        ),
        tr_sec=dict(argstr='--tr=%f', ),
        update_mask=dict(argstr='--update_mask', ),
        var_norm=dict(argstr='--vn', ),
    )
    inputs = MELODIC.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_MELODIC_outputs():
    output_map = dict(
        out_dir=dict(),
        report_dir=dict(),
    )
    outputs = MELODIC.output_spec()

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