Skip to content

Commit 29f7c21

Browse files
extract example_lines to module level, add write_lines unittests
1 parent 4050e97 commit 29f7c21

File tree

1 file changed

+34
-16
lines changed

1 file changed

+34
-16
lines changed

tests/io/test_file.py

Lines changed: 34 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,60 @@
11
# -*- coding: UTF-8 -*-
2+
import tempfile
3+
import pytest
24
from pysenal.io.file import *
35
from 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. \nThis is a different example.\n\n Hahaha."
29+
true_text = '\n'.join(example_lines)
2330
assert text == true_text
2431

2532

2633
def 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. \nThis 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

Comments
 (0)