Adds the first test (for humantime)

This commit is contained in:
Niru Maheswaranathan
2016-05-03 16:37:47 -07:00
parent 061d149fbf
commit fad64f0a07
4 changed files with 49 additions and 6 deletions

14
tests/test_headers.py Normal file
View File

@@ -0,0 +1,14 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from tableprint import humantime
# def table(data, headers=None, format_spec=FMT, width=WIDTH, style=STYLE, out=sys.stdout):
# def header(headers, width=WIDTH, style=STYLE, add_hr=True):
# def row(values, width=WIDTH, format_spec=FMT, style=STYLE):
# def hr(n, width=WIDTH, linestyle=LineStyle('|', '-', '+', '|')):
# def top(n, width=WIDTH, style=STYLE):
# def bottom(n, width=WIDTH, style=STYLE):
# def banner(message, width=30, style='banner', out=sys.stdout):
# def dataframe(df, **kwargs):
# def humantime(t):
# def _format_line(data, linestyle):

29
tests/test_utils.py Normal file
View File

@@ -0,0 +1,29 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from tableprint import humantime
import pytest
def test_humantime():
# test numeric input
assert humantime(1e6) == u'1 weeks, 4 days, 13 hours, 46 min., 40 s'
assert humantime(2e5) == u'2 days, 7 hours, 33 min., 20 s'
assert humantime(5e3) == u'1 hours, 23 min., 20 s'
assert humantime(60) == u'1 min., 0 s'
assert humantime(1) == u'1 s'
assert humantime(0) == u'0 s'
assert humantime(0.1) == u'100 ms'
assert humantime(0.005) == u'5 ms'
assert humantime(1e-5) == u'10 μs'
assert humantime(5.25e-4) == u'525 μs'
assert humantime(5e-7) == u'500 ns'
assert humantime(1e-12) == u'0.001 ns'
# test non-numeric input
for val in ('abc', [], {'x': 5}):
with pytest.raises(ValueError) as context:
humantime(val)
assert 'Input must be numeric' in str(context.value)