Example #1
0
def test_header_line_raises_on_both_missing():
    stats_file = os.path.join(TEST_DATA_DIR, 'subject1', 'stats',
                              'lh.aparc.DKTatlas.stats')
    stats = bl.stat(stats_file)
    del stats['table_meta_data']['column_info_']
    del stats['table_meta_data']['ColHeaders']
    with pytest.raises(ValueError) as exc_info:
        hdr_string = st._header_line(stats['table_meta_data'])
    assert 'Could not determine header line' in str(exc_info.value)
Example #2
0
def test_header_line():
    stats_file = os.path.join(TEST_DATA_DIR, 'subject1', 'stats',
                              'lh.aparc.DKTatlas.stats')
    stats = bl.stat(stats_file)
    hdr_string = st._header_line(stats['table_meta_data'])
    assert hdr_string == '\t'.join([
        'StructName', 'NumVert', 'SurfArea', 'GrayVol', 'ThickAvg', 'ThickStd',
        'MeanCurv', 'GausCurv', 'FoldInd', 'CurvInd'
    ])
Example #3
0
def test_header_line_missing_column_info_warns():
    stats_file = os.path.join(TEST_DATA_DIR, 'subject1', 'stats',
                              'lh.aparc.DKTatlas.stats')
    stats = bl.stat(stats_file)
    del stats['table_meta_data']['column_info_']
    with pytest.warns(UserWarning,
                      match='Stats data is missing some header data'):
        hdr_string = st._header_line(stats['table_meta_data'])
    assert hdr_string == '\t'.join([
        'StructName', 'NumVert', 'SurfArea', 'GrayVol', 'ThickAvg', 'ThickStd',
        'MeanCurv', 'GausCurv', 'FoldInd', 'CurvInd'
    ])
Example #4
0
def test_header_line_does_not_raise_on_broken_col_headers():
    stats_file = os.path.join(TEST_DATA_DIR, 'subject1', 'stats',
                              'lh.aparc.DKTatlas.stats')
    stats = bl.stat(stats_file)
    stats['table_meta_data'][
        'ColHeaders'] = 1  # ruin data: cannot split an int
    with pytest.warns(UserWarning,
                      match='Stats data is missing some header data'):
        hdr_string = st._header_line(stats['table_meta_data'])
    assert hdr_string == '\t'.join([
        'StructName', 'NumVert', 'SurfArea', 'GrayVol', 'ThickAvg', 'ThickStd',
        'MeanCurv', 'GausCurv', 'FoldInd', 'CurvInd'
    ])
Example #5
0
def test_header_line_inconsistent_warns():
    stats_file = os.path.join(TEST_DATA_DIR, 'subject1', 'stats',
                              'lh.aparc.DKTatlas.stats')
    stats = bl.stat(stats_file)
    stats['table_meta_data'][
        'ColHeaders'] = 'StructName NumVertBROKEN SurfArea GrayVol ThickAvg ThickStd MeanCurv GausCurv FoldInd CurvInd'  # mess with data, add 'BROKEN' to 2nd header column
    with pytest.warns(
            UserWarning,
            match=
            'Stats data regarding table header is inconsistent between ColHeaders and TableCol->ColHeader entries'
    ):
        hdr_string = st._header_line(stats['table_meta_data'])
    assert hdr_string == '\t'.join([
        'StructName', 'NumVert', 'SurfArea', 'GrayVol', 'ThickAvg', 'ThickStd',
        'MeanCurv', 'GausCurv', 'FoldInd', 'CurvInd'
    ])