| | |
| | import json |
| |
|
| | import pytest |
| |
|
| | from mmocr.datasets.utils.parser import LineJsonParser, LineStrParser |
| |
|
| |
|
| | def test_line_str_parser(): |
| | data_ret = ['sample1.jpg hello\n', 'sample2.jpg world'] |
| | keys = ['filename', 'text'] |
| | keys_idx = [0, 1] |
| | separator = ' ' |
| |
|
| | |
| | with pytest.raises(AssertionError): |
| | parser = LineStrParser('filename', keys_idx, separator) |
| | with pytest.raises(AssertionError): |
| | parser = LineStrParser(keys, keys_idx, [' ']) |
| | with pytest.raises(AssertionError): |
| | parser = LineStrParser(keys, [0], separator) |
| |
|
| | |
| | parser = LineStrParser(keys, keys_idx, separator) |
| | assert parser.get_item(data_ret, 0) == { |
| | 'filename': 'sample1.jpg', |
| | 'text': 'hello' |
| | } |
| |
|
| | with pytest.raises(Exception): |
| | parser = LineStrParser(['filename', 'text', 'ignore'], [0, 1, 2], |
| | separator) |
| | parser.get_item(data_ret, 0) |
| |
|
| |
|
| | def test_line_dict_parser(): |
| | data_ret = [ |
| | json.dumps({ |
| | 'filename': 'sample1.jpg', |
| | 'text': 'hello' |
| | }), |
| | json.dumps({ |
| | 'filename': 'sample2.jpg', |
| | 'text': 'world' |
| | }) |
| | ] |
| | keys = ['filename', 'text'] |
| |
|
| | |
| | with pytest.raises(AssertionError): |
| | parser = LineJsonParser('filename') |
| | with pytest.raises(AssertionError): |
| | parser = LineJsonParser([]) |
| |
|
| | |
| | parser = LineJsonParser(keys) |
| | assert parser.get_item(data_ret, 0) == { |
| | 'filename': 'sample1.jpg', |
| | 'text': 'hello' |
| | } |
| |
|
| | with pytest.raises(Exception): |
| | parser = LineJsonParser(['img_name', 'text']) |
| | parser.get_item(data_ret, 0) |
| |
|