-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_restructure.py
105 lines (80 loc) · 2.82 KB
/
test_restructure.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
import modules.nodify as nodify
import argparse
import pytest
import filecmp
def test_wrong_delimiter_selected():
test_delims = [",", ".", "\t", "_", "-"]
pass_all = True
for delim in test_delims:
args = argparse.Namespace()
args.delimiter = delim
args.filepath = "input1.csv"
args.output = None
args.flow = None
nodes = nodify.Restruct(args)
nodes.restruct_data_arr()
if delim == nodes.delimiter:
pass_all = False
assert pass_all
def test_no_appropriate_delimiter_possible():
args = argparse.Namespace()
args.delimiter = "|"
args.filepath = "input2.csv"
args.output = None
args.flow = None
nodes = nodify.Restruct(args)
with pytest.raises(SystemExit):
nodes.restruct_data_arr()
out, err = capsys.readouterr()
out_ok = "No appropriate delimiter has been selected or found. Try setting it with -d \"delim\""
assert out == out_ok
def test_merged_columns_database():
args = argparse.Namespace()
args.delimiter = "|"
args.filepath = "input1.csv"
args.output = None
args.flow = None
nodes = nodify.Restruct(args)
nodes.restruct_data_arr()
assert isinstance(nodes.obj_list[0], type(nodify.Database()))
def test_merged_columns_table():
args = argparse.Namespace()
args.delimiter = "|"
args.filepath = "input1.csv"
args.output = None
args.flow = None
nodes = nodify.Restruct(args)
nodes.restruct_data_arr()
assert isinstance(nodes.obj_list[1], type(nodify.Table()))
def test_if_code_removes_tabs_spaces_in_entries():
args = argparse.Namespace()
args.delimiter = "|"
args.filepath = "input1.csv"
args.output = "output1.txt"
args.flow = None
nodes = nodify.Restruct(args)
nodes.restruct_data_arr()
nodes.table_output_cl()
assert filecmp.cmp(nodes.output_file, "output_special_sym.txt")
def test_file_not_specified(capsys):
args = argparse.Namespace()
args.delimiter = "|"
args.filepath = None
args.output = "output1.txt"
args.flow = None
with pytest.raises(SystemExit):
nodify.argument_input(new_args=args, test_mode=True)
out, err = capsys.readouterr()
out_ok = "Filepath value not assigned. Try using -f \"filepath\""
assert out == out_ok
def test_file_not_existent(capsys):
args = argparse.Namespace()
args.delimiter = "|"
args.filepath = "input1.exe"
args.output = "output1.txt"
args.flow = None
with pytest.raises(SystemExit):
nodify.argument_input(new_args=args, test_mode=True)
out, err = capsys.readouterr()
out_ok = "Input file does not exist. Provide a valid input file"
assert out == out_ok