Skip to content
This repository was archived by the owner on Sep 5, 2019. It is now read-only.

Function match_headers causes election majorz import error #29

@gh-PonyM

Description

@gh-PonyM

While the fixture wabstic_majorz.tar.gz passes the tests, a new test data set sent by DeRochi raises "Missing Column: gewahlt" for wm_kandidaten csv file. The two sample files have exactly the same column names.

Test to append to test_match_headers_missing to reproduce:

raw_headers = ['SortGeschaeft', 'KNR', 'Nachname', 'Vorname', 'Partei',
               'Beruf', 'Titel', 'Wohnort', 'Jahrgang', 'Bisher',
               'Gewaehlt', 'StimmenProz']
headers = [normalize_header(h) for h in raw_headers]
assert match_headers(
    headers,
    expected=('sortgeschaeft', 'knr', 'nachname', 'vorname', 'partei',
              'beruf', 'titel', 'wohnort', 'jahrgang', 'gewahlt')) \
    == ['sortgeschaeft', 'knr', 'nachname', 'vorname', 'partei', 'beruf',
        'titel', 'wohnort', 'jahrgang', 'gewahlt']

The function also returns more headers then the expected ones:

raw_headers` = ['SortGeschaeft', 'KNR', 'Nachname', 'Vorname', 'Partei',
               'Beruf', 'Titel', 'Wohnort', 'Jahrgang', 'Bisher',
               'Gewaehlt', 'StimmenProz']
headers = [normalize_header(h) for h in raw_headers]
print(headers)
assert match_headers(
    headers,
    expected=('knr', 'gewahlt')) \
    == ['knr', 'gewahlt']

The test test_match_headers_order can also be extended with this example, that should pass:

matches = match_headers(['fl', 'tl', 'hoch', 'tief', 'heute', 'morgen'],
                        expected=('hoch', 'fl', 'morgen'))
assert matches == ['fl', 'hoch', 'morgen']

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions