# AUTO-GENERATED by tools/checkspecs.py - DO NOT EDIT
from ..specialized import BRAINSABC


def test_BRAINSABC_inputs():
    input_map = dict(
        args=dict(
            argstr="%s",
        ),
        atlasDefinition=dict(
            argstr="--atlasDefinition %s",
            extensions=None,
        ),
        atlasToSubjectInitialTransform=dict(
            argstr="--atlasToSubjectInitialTransform %s",
            hash_files=False,
        ),
        atlasToSubjectTransform=dict(
            argstr="--atlasToSubjectTransform %s",
            hash_files=False,
        ),
        atlasToSubjectTransformType=dict(
            argstr="--atlasToSubjectTransformType %s",
        ),
        atlasWarpingOff=dict(
            argstr="--atlasWarpingOff ",
        ),
        debuglevel=dict(
            argstr="--debuglevel %d",
        ),
        defaultSuffix=dict(
            argstr="--defaultSuffix %s",
        ),
        environ=dict(
            nohash=True,
            usedefault=True,
        ),
        filterIteration=dict(
            argstr="--filterIteration %d",
        ),
        filterMethod=dict(
            argstr="--filterMethod %s",
        ),
        filterTimeStep=dict(
            argstr="--filterTimeStep %f",
        ),
        gridSize=dict(
            argstr="--gridSize %s",
            sep=",",
        ),
        implicitOutputs=dict(
            argstr="--implicitOutputs %s...",
            hash_files=False,
        ),
        inputVolumeTypes=dict(
            argstr="--inputVolumeTypes %s",
            sep=",",
        ),
        inputVolumes=dict(
            argstr="--inputVolumes %s...",
        ),
        interpolationMode=dict(
            argstr="--interpolationMode %s",
        ),
        maxBiasDegree=dict(
            argstr="--maxBiasDegree %d",
        ),
        maxIterations=dict(
            argstr="--maxIterations %d",
        ),
        medianFilterSize=dict(
            argstr="--medianFilterSize %s",
            sep=",",
        ),
        numberOfSubSamplesInEachPlugArea=dict(
            argstr="--numberOfSubSamplesInEachPlugArea %s",
            sep=",",
        ),
        numberOfThreads=dict(
            argstr="--numberOfThreads %d",
        ),
        outputDir=dict(
            argstr="--outputDir %s",
            hash_files=False,
        ),
        outputDirtyLabels=dict(
            argstr="--outputDirtyLabels %s",
            hash_files=False,
        ),
        outputFormat=dict(
            argstr="--outputFormat %s",
        ),
        outputLabels=dict(
            argstr="--outputLabels %s",
            hash_files=False,
        ),
        outputVolumes=dict(
            argstr="--outputVolumes %s...",
            hash_files=False,
        ),
        posteriorTemplate=dict(
            argstr="--posteriorTemplate %s",
        ),
        purePlugsThreshold=dict(
            argstr="--purePlugsThreshold %f",
        ),
        restoreState=dict(
            argstr="--restoreState %s",
            extensions=None,
        ),
        saveState=dict(
            argstr="--saveState %s",
            hash_files=False,
        ),
        subjectIntermodeTransformType=dict(
            argstr="--subjectIntermodeTransformType %s",
        ),
        useKNN=dict(
            argstr="--useKNN ",
        ),
        writeLess=dict(
            argstr="--writeLess ",
        ),
    )
    inputs = BRAINSABC.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_BRAINSABC_outputs():
    output_map = dict(
        atlasToSubjectInitialTransform=dict(
            extensions=None,
        ),
        atlasToSubjectTransform=dict(
            extensions=None,
        ),
        implicitOutputs=dict(),
        outputDir=dict(),
        outputDirtyLabels=dict(
            extensions=None,
        ),
        outputLabels=dict(
            extensions=None,
        ),
        outputVolumes=dict(),
        saveState=dict(
            extensions=None,
        ),
    )
    outputs = BRAINSABC.output_spec()

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