/
tests.py
80 lines (58 loc) · 2.17 KB
/
tests.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
# --- import -------------------------------------------------------------------------------------
import tempfile
import numpy as np
import tidy_headers
# --- helpers ------------------------------------------------------------------------------------
def assert_dict_equal(a, b):
assert len(a.keys()) == len(b.keys())
for key, value in a.items():
if hasattr(value, "dtype"):
assert np.asarray(b[key]).all() == np.array(value).all()
else:
assert b[key] == value
# --- test ---------------------------------------------------------------------------------------
def test_float():
f = tempfile.NamedTemporaryFile()
d = {"zero": 0.0, "four": 4.0, "large": 124.0, "negative": -12.0, "fraction": 0.5}
tidy_headers.write(f.name, d)
assert_dict_equal(d, tidy_headers.read(f.name))
f.close()
def test_int():
f = tempfile.NamedTemporaryFile()
d = {"zero": 0, "four": 4, "large": 1200000, "negative": -1}
tidy_headers.write(f.name, d)
assert_dict_equal(d, tidy_headers.read(f.name))
f.close()
def test_list():
f = tempfile.NamedTemporaryFile()
d = {}
d["hello"] = ["a", "b", "c", "d"]
d["blaise"] = [0, 1, 2, 3, 4, 5, 6, -124]
d["mixture"] = ["blaise", "wisconsin", "echo", "wisconsin"]
tidy_headers.write(f.name, d)
assert_dict_equal(d, tidy_headers.read(f.name))
f.close()
def test_array():
f = tempfile.NamedTemporaryFile()
d = {}
d["5"] = np.random.random(5)
d["12, 45"] = np.random.random((12, 45))
d["7, 15, 2"] = np.random.random((7, 15, 2))
tidy_headers.write(f.name, d)
assert_dict_equal(d, tidy_headers.read(f.name))
f.close()
def test_str():
f = tempfile.NamedTemporaryFile()
d = {"blaise": "thompson", "red": "tomato", "love": "hate", "madison": "wisconsin"}
tidy_headers.write(f.name, d)
assert_dict_equal(d, tidy_headers.read(f.name))
f.close()
def test_array_nans():
f = tempfile.NamedTemporaryFile()
d = {}
d["nan"] = np.array([np.nan])
d["inf"] = np.array([np.inf])
d["-inf"] = np.array([-np.inf])
tidy_headers.write(f.name, d)
assert_dict_equal(d, tidy_headers.read(f.name))
f.close()