aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorGravatar Shirayuki Nekomata <[email protected]>2019-12-05 00:34:58 +0700
committerGravatar Shirayuki Nekomata <[email protected]>2019-12-05 00:34:58 +0700
commitb17dbe5e3e0dfa6ae44d660924455f709abefd0d (patch)
tree48cf5f769b01bd9fc7d7ae1751fb7f3d038b6f1d /tests
parentAdded `unittest` for `bot.utils.time` (diff)
Splitting test cases for `humanize_delta` into proper, independent tests.
Diffstat (limited to 'tests')
-rw-r--r--tests/bot/utils/test_time.py28
1 files changed, 21 insertions, 7 deletions
diff --git a/tests/bot/utils/test_time.py b/tests/bot/utils/test_time.py
index 0ef59292e..5e5f2bf2f 100644
--- a/tests/bot/utils/test_time.py
+++ b/tests/bot/utils/test_time.py
@@ -15,18 +15,20 @@ class TimeTests(unittest.TestCase):
def setUp(self):
pass
- def test_humanize_delta(self):
- """Testing humanize delta."""
+ def test_humanize_delta_handle_unknown_units(self):
+ """humanize_delta should be able to handle unknown units, and will not abort."""
test_cases = (
- (relativedelta(days=2), 'seconds', 1, '2 days'),
- (relativedelta(days=2, hours=2), 'seconds', 2, '2 days and 2 hours'),
- (relativedelta(days=2, hours=2), 'seconds', 1, '2 days'),
- (relativedelta(days=2, hours=2), 'days', 2, '2 days'),
-
# Does not abort for unknown units, as the unit name is checked
# against the attribute of the relativedelta instance.
(relativedelta(days=2, hours=2), 'elephants', 2, '2 days and 2 hours'),
+ )
+ for delta, precision, max_units, expected in test_cases:
+ self.assertEqual(time.humanize_delta(delta, precision, max_units), expected)
+
+ def test_humanize_delta_handle_high_units(self):
+ """humanize_delta should be able to handle very high units."""
+ test_cases = (
# Very high maximum units, but it only ever iterates over
# each value the relativedelta might have.
(relativedelta(days=2, hours=2), 'hours', 20, '2 days and 2 hours'),
@@ -35,6 +37,18 @@ class TimeTests(unittest.TestCase):
for delta, precision, max_units, expected in test_cases:
self.assertEqual(time.humanize_delta(delta, precision, max_units), expected)
+ def test_humanize_delta_should_work_normally(self):
+ """Testing humanize delta."""
+ test_cases = (
+ (relativedelta(days=2), 'seconds', 1, '2 days'),
+ (relativedelta(days=2, hours=2), 'seconds', 2, '2 days and 2 hours'),
+ (relativedelta(days=2, hours=2), 'seconds', 1, '2 days'),
+ (relativedelta(days=2, hours=2), 'days', 2, '2 days'),
+ )
+
+ for delta, precision, max_units, expected in test_cases:
+ self.assertEqual(time.humanize_delta(delta, precision, max_units), expected)
+
def test_humanize_delta_raises_for_invalid_max_units(self):
test_cases = (-1, 0)