forked from TeamHG-Memex/eli5
-
Notifications
You must be signed in to change notification settings - Fork 2
/
test_formatters_utils.py
55 lines (50 loc) · 1.63 KB
/
test_formatters_utils.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
import pytest
from eli5.formatters.utils import tabulate, format_value
def test_tabulate():
assert tabulate([]) == []
assert tabulate([], header=['foo', 'bar']) == [
'foo bar',
'--- ---',
]
assert tabulate([[1, 'oneee'], [2.3, 'two']]) == [
'1 oneee',
'2.3 two ',
]
assert tabulate([[1, 'oneee'], [2.3, 'two']], header=['Digit', '']) == [
'Digit ',
'----- -----',
'1 oneee',
'2.3 two ',
]
assert tabulate([[1, 'oneee'], [2.3, 'two']], header=['Digit', 'Word'],
col_align='lr') == [
'Digit Word',
'----- -----',
'1 oneee',
'2.3 two',
]
assert tabulate([[1, 'oneee'], [2.3, 'two']], header=['Digit', 'Word'],
col_align='r') == [
'Digit Word',
'----- -----',
' 1 oneee',
' 2.3 two',
]
assert tabulate([[1, 'oneee'], [2.3, 'two']], header=['Digit', 'Word'],
col_align=['c', 'r']) == [
'Digit Word',
'----- -----',
' 1 oneee',
' 2.3 two',
]
with pytest.raises(ValueError):
assert tabulate([[1, 'oneee'], [2.3]])
with pytest.raises(ValueError):
assert tabulate([[1], [2.3]], header=['Digit', 'Word'])
with pytest.raises(ValueError):
assert tabulate([[1], [2.3]], header=['Digit'], col_align='rr')
def test_format_value():
assert format_value(None) == ''
assert format_value(float('nan')) == 'Missing'
assert format_value(12.23333334) == '12.233'
assert format_value(-12.23333334) == '-12.233'