@pytest.mark.parametrize('line, expected', sample_gd_lines)
def test_split_fields(parser, line, expected):
    line = line.split('\t')
    number_of_positional_arguments = len([i for i in line if ('=' not in i)])
    line = line[number_of_positional_arguments:]
    result = parser.parse_keyword_fields(line)
    result = {k: v for (k, v) in result.items() if v}
    _to_remove = ['category_id', 'evidence_id', 'parent_ids', 'seq_id', 'position', 'new_seq', 'size']
    result = {k: v for (k, v) in result.items() if (k not in _to_remove)}
    expected = {k: v for (k, v) in result.items() if (k in result.keys())}
    assert (result == expected)
@pytest.mark.parametrize('line, expected', sample_gd_lines)
def test_split_fields(parser, line, expected):
    line = line.split('\t')
    number_of_positional_arguments = len([i for i in line if ('=' not in i)])
    line = line[number_of_positional_arguments:]
    result = parser.parse_keyword_fields(line)
    result = {k: v for (k, v) in result.items() if v}
    _to_remove = ['category_id', 'evidence_id', 'parent_ids', 'seq_id', 'position', 'new_seq', 'size']
    result = {k: v for (k, v) in result.items() if (k not in _to_remove)}
    expected = {k: v for (k, v) in result.items() if (k in result.keys())}
    assert (result == expected)