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


def test_MultipleRegressionDesign_inputs():
    input_map = dict(
        covariates=dict(
            field="cov",
        ),
        explicit_mask_file=dict(
            extensions=None,
            field="masking.em",
        ),
        global_calc_mean=dict(
            field="globalc.g_mean",
            xor=["global_calc_omit", "global_calc_values"],
        ),
        global_calc_omit=dict(
            field="globalc.g_omit",
            xor=["global_calc_mean", "global_calc_values"],
        ),
        global_calc_values=dict(
            field="globalc.g_user.global_uval",
            xor=["global_calc_mean", "global_calc_omit"],
        ),
        global_normalization=dict(
            field="globalm.glonorm",
        ),
        in_files=dict(
            field="des.mreg.scans",
            mandatory=True,
        ),
        include_intercept=dict(
            field="des.mreg.incint",
            usedefault=True,
        ),
        matlab_cmd=dict(),
        mfile=dict(
            usedefault=True,
        ),
        no_grand_mean_scaling=dict(
            field="globalm.gmsca.gmsca_no",
        ),
        paths=dict(),
        spm_mat_dir=dict(
            field="dir",
        ),
        threshold_mask_absolute=dict(
            field="masking.tm.tma.athresh",
            xor=["threshold_mask_none", "threshold_mask_relative"],
        ),
        threshold_mask_none=dict(
            field="masking.tm.tm_none",
            xor=["threshold_mask_absolute", "threshold_mask_relative"],
        ),
        threshold_mask_relative=dict(
            field="masking.tm.tmr.rthresh",
            xor=["threshold_mask_absolute", "threshold_mask_none"],
        ),
        use_implicit_threshold=dict(
            field="masking.im",
        ),
        use_mcr=dict(),
        use_v8struct=dict(
            min_ver="8",
            usedefault=True,
        ),
        user_covariates=dict(
            field="des.mreg.mcov",
        ),
    )
    inputs = MultipleRegressionDesign.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_MultipleRegressionDesign_outputs():
    output_map = dict(
        spm_mat_file=dict(
            extensions=None,
        ),
    )
    outputs = MultipleRegressionDesign.output_spec()

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