64 lines
2.1 KiB
Python
64 lines
2.1 KiB
Python
"""Tests for utils.py."""
|
|
|
|
from gomill_tests import gomill_test_support
|
|
|
|
from gomill import utils
|
|
|
|
def make_tests(suite):
|
|
suite.addTests(gomill_test_support.make_simple_tests(globals()))
|
|
|
|
|
|
def test_format_float(tc):
|
|
ff = utils.format_float
|
|
tc.assertEqual(ff(1), "1")
|
|
tc.assertEqual(ff(1.0), "1")
|
|
tc.assertEqual(ff(1.5), "1.5")
|
|
|
|
def test_format_percent(tc):
|
|
pct = utils.format_percent
|
|
tc.assertEqual(pct(1, 1), "100.00%")
|
|
tc.assertEqual(pct(1, 2), "50.00%")
|
|
tc.assertEqual(pct(1.0, 2.0), "50.00%")
|
|
tc.assertEqual(pct(1, 3), "33.33%")
|
|
tc.assertEqual(pct(0, 3), "0.00%")
|
|
tc.assertEqual(pct(2, 0), "??")
|
|
tc.assertEqual(pct(0, 0), "--")
|
|
|
|
def test_sanitise_utf8(tc):
|
|
su = utils.sanitise_utf8
|
|
tc.assertIsNone(su(None))
|
|
tc.assertEqual(su(""), "")
|
|
tc.assertEqual(su("hello world"), "hello world")
|
|
s = u"test \N{POUND SIGN}".encode("utf-8")
|
|
tc.assertIs(su(s), s)
|
|
tc.assertEqual(su(u"test \N{POUND SIGN}".encode("latin1")), "test ?")
|
|
|
|
def test_isinf(tc):
|
|
tc.assertIs(utils.isinf(0), False)
|
|
tc.assertIs(utils.isinf(0.0), False)
|
|
tc.assertIs(utils.isinf(3), False)
|
|
tc.assertIs(utils.isinf(3.0), False)
|
|
tc.assertIs(utils.isinf(1e300), False)
|
|
tc.assertIs(utils.isinf(1e400), True)
|
|
tc.assertIs(utils.isinf(-1e300), False)
|
|
tc.assertIs(utils.isinf(-1e400), True)
|
|
tc.assertIs(utils.isinf(1e-300), False)
|
|
tc.assertIs(utils.isinf(1e-400), False)
|
|
tc.assertIs(utils.isinf(float("inf")), True)
|
|
tc.assertIs(utils.isinf(float("-inf")), True)
|
|
tc.assertIs(utils.isinf(float("NaN")), False)
|
|
|
|
def test_nan(tc):
|
|
tc.assertIs(utils.isnan(0), False)
|
|
tc.assertIs(utils.isnan(0.0), False)
|
|
tc.assertIs(utils.isnan(1e300), False)
|
|
tc.assertIs(utils.isnan(1e400), False)
|
|
tc.assertIs(utils.isnan(-1e300), False)
|
|
tc.assertIs(utils.isnan(-1e400), False)
|
|
tc.assertIs(utils.isnan(1e-300), False)
|
|
tc.assertIs(utils.isnan(1e-400), False)
|
|
tc.assertIs(utils.isnan(float("inf")), False)
|
|
tc.assertIs(utils.isnan(float("-inf")), False)
|
|
tc.assertIs(utils.isnan(float("NaN")), True)
|
|
|