# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT
from nipype.testing import assert_equal
from nipype.interfaces.freesurfer.model import GLMFit
def test_GLMFit_inputs():
    input_map = dict(surf=dict(requires=['subject_id', 'hemi'],
    argstr='--surf %s %s %s',
    ),
    save_residual=dict(argstr='--eres-save',
    ),
    invert_mask=dict(argstr='--mask-inv',
    ),
    save_res_corr_mtx=dict(argstr='--eres-scm',
    ),
    weight_file=dict(xor=['weighted_ls'],
    ),
    allow_repeated_subjects=dict(argstr='--allowsubjrep',
    ),
    no_est_fwhm=dict(argstr='--no-est-fwhm',
    ),
    seed=dict(argstr='--seed %d',
    ),
    design=dict(xor=('fsgd', 'design', 'one_sample'),
    argstr='--X %s',
    ),
    no_prune=dict(xor=['prunethresh'],
    argstr='--no-prune',
    ),
    surf_geo=dict(usedefault=True,
    ),
    fwhm=dict(argstr='--fwhm %f',
    ),
    fixed_fx_dof=dict(xor=['fixed_fx_dof_file'],
    argstr='--ffxdof %d',
    ),
    per_voxel_reg=dict(argstr='--pvr %s...',
    ),
    fixed_fx_dof_file=dict(xor=['fixed_fx_dof'],
    argstr='--ffxdofdat %d',
    ),
    diag_cluster=dict(argstr='--diag-cluster',
    ),
    check_opts=dict(argstr='--checkopts',
    ),
    self_reg=dict(argstr='--selfreg %d %d %d',
    ),
    weight_inv=dict(xor=['weighted_ls'],
    argstr='--w-inv',
    ),
    uniform=dict(argstr='--uniform %f %f',
    ),
    in_file=dict(copyfile=False,
    mandatory=True,
    argstr='--y %s',
    ),
    var_fwhm=dict(argstr='--var-fwhm %f',
    ),
    synth=dict(argstr='--synth',
    ),
    prune_thresh=dict(xor=['noprune'],
    argstr='--prune_thr %f',
    ),
    pca=dict(argstr='--pca',
    ),
    contrast=dict(argstr='--C %s...',
    ),
    label_file=dict(xor=['cortex'],
    argstr='--label %s',
    ),
    profile=dict(argstr='--profile %d',
    ),
    compute_log_y=dict(argstr='--logy',
    ),
    hemi=dict(),
    vox_dump=dict(argstr='--voxdump %d %d %d',
    ),
    save_estimate=dict(argstr='--yhat-save',
    ),
    save_cond=dict(argstr='--save-cond',
    ),
    calc_AR1=dict(argstr='--tar1',
    ),
    args=dict(argstr='%s',
    ),
    fsgd=dict(xor=('fsgd', 'design', 'one_sample'),
    argstr='--fsgd %s %s',
    ),
    mask_file=dict(argstr='--mask %s',
    ),
    terminal_output=dict(mandatory=True,
    nohash=True,
    ),
    subjects_dir=dict(),
    sim_sign=dict(argstr='--sim-sign %s',
    ),
    allow_ill_cond=dict(argstr='--illcond',
    ),
    force_perm=dict(argstr='--perm-force',
    ),
    one_sample=dict(xor=('one_sample', 'fsgd', 'design', 'contrast'),
    argstr='--osgm',
    ),
    prune=dict(argstr='--prune',
    ),
    ignore_exception=dict(nohash=True,
    usedefault=True,
    ),
    no_contrast_sok=dict(argstr='--no-contrasts-ok',
    ),
    fixed_fx_var=dict(argstr='--yffxvar %s',
    ),
    no_mask_smooth=dict(argstr='--no-mask-smooth',
    ),
    simulation=dict(argstr='--sim %s %d %f %s',
    ),
    environ=dict(nohash=True,
    usedefault=True,
    ),
    cortex=dict(xor=['label_file'],
    argstr='--cortex',
    ),
    weight_sqrt=dict(xor=['weighted_ls'],
    argstr='--w-sqrt',
    ),
    diag=dict(),
    debug=dict(argstr='--debug',
    ),
    weighted_ls=dict(xor=('weight_file', 'weight_inv', 'weight_sqrt'),
    argstr='--wls %s',
    ),
    glm_dir=dict(argstr='--glmdir %s',
    genfile=True,
    ),
    subject_id=dict(),
    resynth_test=dict(argstr='--resynthtest %d',
    ),
    sim_done_file=dict(argstr='--sim-done %s',
    ),
    )
    inputs = GLMFit.input_spec()

    for key, metadata in input_map.items():
        for metakey, value in metadata.items():
            yield assert_equal, getattr(inputs.traits()[key], metakey), value
def test_GLMFit_outputs():
    output_map = dict(frame_eigenvectors=dict(),
    spatial_eigenvectors=dict(),
    gamma_var_file=dict(),
    error_var_file=dict(),
    fwhm_file=dict(),
    ftest_file=dict(),
    beta_file=dict(),
    error_stddev_file=dict(),
    error_file=dict(),
    gamma_file=dict(),
    sig_file=dict(),
    mask_file=dict(),
    svd_stats_file=dict(),
    glm_dir=dict(),
    dof_file=dict(),
    singular_values=dict(),
    estimate_file=dict(),
    )
    outputs = GLMFit.output_spec()

    for key, metadata in output_map.items():
        for metakey, value in metadata.items():
            yield assert_equal, getattr(outputs.traits()[key], metakey), value
