11# -*- coding: UTF-8 -*-
2+ import tempfile
3+ import pytest
24from pysenal .io .file import *
35from tests import TEST_DATA_DIR
46
57
6- def test_read_lines ():
8+ @pytest .fixture ("module" )
9+ def example_lines ():
10+ lines = ['This is an example. ' ,
11+ 'This is a different example.' ,
12+ '' ,
13+ ' Hahaha.' ]
14+ return lines
15+
16+
17+ def test_read_lines (example_lines ):
718 filename = TEST_DATA_DIR + 'a.txt'
819 lines = read_lines (filename )
9- true_lines = ['This is an example. ' ,
10- 'This is a different example.' ,
11- '' ,
12- ' Hahaha.' ]
13- assert lines == true_lines
20+ assert lines == example_lines
1421 skip_lines = read_lines (filename , skip_empty = True )
15- assert skip_lines == [l for l in true_lines if l ]
22+ assert skip_lines == [l for l in example_lines if l ]
1623 assert read_lines (TEST_DATA_DIR + 'a.txt.gbk' , 'gbk' ) == ['你好' , '这是一个例子。' ]
1724
1825
19- def test_read ():
26+ def test_read (example_lines ):
2027 filename = TEST_DATA_DIR + 'a.txt'
2128 text = read_file (filename )
22- true_text = "This is an example. \n This is a different example. \n \n Hahaha."
29+ true_text = ' \n ' . join ( example_lines )
2330 assert text == true_text
2431
2532
2633def test_read_json ():
2734 read_json (TEST_DATA_DIR + 'a.json' )
2835
2936
30- def test_text_file ():
31- true_text = "This is an example. \n This is a different example.\n \n Hahaha."
37+ def test_write_lines (example_lines ):
38+ dirname = tempfile .gettempdir () + '/'
39+ filename = dirname + 'a.txt'
40+ if os .path .exists (filename ):
41+ os .remove (filename )
42+
43+ write_lines (filename , example_lines )
44+ with open (filename ) as f :
45+ assert f .read ().splitlines () == example_lines
46+
47+ if os .path .exists (filename ):
48+ os .remove (filename )
49+
50+
51+ def test_text_file (example_lines ):
52+ true_text = '\n ' .join (example_lines )
3253 text_file = TextFile (TEST_DATA_DIR + 'a.txt' )
3354 text = text_file .read ()
3455 lines = text_file .read_lines ()
3556 assert text == true_text
36- assert lines == ['This is an example.' ,
37- 'This is a different example.' ,
38- '' ,
39- 'Hahaha.' ]
57+ assert lines == example_lines
4058 expected_write_text = 'New Example\n \n '
4159 text_file .write (expected_write_text )
4260 print (text_file .read ())
@@ -46,4 +64,4 @@ def test_text_file():
4664 expected_write_lines = ['A' , '' , 'BBB' , 'C' ]
4765 assert text_file .read_lines () == expected_write_lines
4866
49- text_file .write (true_text )
67+ text_file .write (true_text )
0 commit comments