@@ -14,6 +14,22 @@ def example_lines():
1414 return lines
1515
1616
17+ @pytest .fixture ("module" )
18+ def example_json ():
19+ data = [
20+ {
21+ "text" : "This is an example." ,
22+ "start" : 0 ,
23+ "end" : 19
24+ },
25+ {"text" : "This is another example." ,
26+ "start" : 0 ,
27+ "end" : 24
28+ }
29+ ]
30+ return data
31+
32+
1733def test_read_lines (example_lines ):
1834 filename = TEST_DATA_DIR + 'a.txt'
1935 lines = read_lines (filename )
@@ -65,3 +81,41 @@ def test_text_file(example_lines):
6581 assert text_file .read_lines () == expected_write_lines
6682
6783 text_file .write (true_text )
84+
85+
86+ def test_jsonl_file_read_write (example_json ):
87+ dirname = tempfile .gettempdir () + '/'
88+ filename = dirname + 'a.json'
89+ if os .path .exists (filename ):
90+ os .remove (filename )
91+ file = JsonLineFile (filename )
92+ file .write_lines (example_json )
93+ file .close ()
94+
95+ assert os .path .exists (filename ) is True
96+
97+ file2 = JsonLineFile (filename , is_remove = True )
98+ assert os .path .exists (filename ) is False
99+
100+ with pytest .raises (FileNotFoundError ):
101+ file2 .read_lines ()
102+
103+ file2 .write_line (example_json )
104+ assert os .path .exists (filename ) is True
105+ assert len (file2 .read_lines ()) == 1
106+
107+ file2 .close ()
108+
109+
110+ def test_jsonl_file_append (example_json ):
111+ dirname = tempfile .gettempdir () + '/'
112+ filename = dirname + 'a.json'
113+ if os .path .exists (filename ):
114+ os .remove (filename )
115+
116+ file = JsonLineFile (filename , is_remove = True )
117+ file .append_lines (example_json )
118+ file .append (example_json )
119+ file .append_line (example_json )
120+
121+ assert len (file .read_lines ()) == 4
0 commit comments