import unittest from util.format import * class format(unittest.TestCase): def test_int_from_string(self): self.assertEqual(100, asint('100')) self.assertEqual(-100, asint('-100')) self.assertEqual(0, asint('0')) def test_int_from_none(self): self.assertEqual(0, asint(None)) def test_int_from_int(self): self.assertEqual(100, asint(100)) self.assertEqual(-100, asint(-100)) self.assertEqual(0, asint(0)) def test_int_minimum(self): self.assertEqual(100, asint(100, minimum=10)) self.assertEqual(100, asint(100, minimum=100)) self.assertEqual(10, asint(5, minimum=10)) def test_int_maximum(self): self.assertEqual(100, asint(100, maximum=200)) self.assertEqual(100, asint(100, maximum=100)) self.assertEqual(100, asint(200, maximum=100)) def test_true_from_str(self): self.assertTrue(asbool('true')) self.assertTrue(asbool(True)) self.assertTrue(asbool('t')) self.assertTrue(asbool('1')) self.assertTrue(asbool('yes')) self.assertTrue(asbool('y')) self.assertTrue(asbool('on')) def test_false_from_str(self): self.assertFalse(asbool('false')) self.assertFalse(asbool(False)) self.assertFalse(asbool('f')) self.assertFalse(asbool('0')) self.assertFalse(asbool('no')) self.assertFalse(asbool('n')) self.assertFalse(asbool('off')) self.assertFalse(asbool(None)) def test_list_from_None(self): self.assertEqual([], aslist(None)) def test_list_from_list(self): self.assertEqual([1,2,3], aslist([1,2,3])) def test_list_from_str(self): self.assertEqual(['12', '13', '14'], aslist('12,13,14')) def test_byteformat(self): self.assertEqual('500.00B', byte(500)) self.assertEqual('1.00KiB', byte(1024)) self.assertEqual('1KiB', byte(1024, '{:.0f}')) self.assertEqual('1.50KiB', byte(1024+512)) self.assertEqual('2.50MiB', byte(1024*1024*2 + 1024*512)) self.assertEqual('4.50GiB', byte(1024*1024*1024*4 + 1024*1024*512)) self.assertEqual('2048.00GiB', byte(1024*1024*1024*1024*2)) def test_duration(self): self.assertEqual('04:20:00', duration(4*60*60+20*60)) self.assertEqual('04:20:00h', duration(4*60*60+20*60, unit=True)) self.assertEqual('04:20h', duration(4*60*60+20*60, compact=True, unit=True)) self.assertEqual('20:00', duration(20*60)) self.assertEqual('20:00m', duration(20*60, unit=True)) self.assertEqual('20:00m', duration(20*60, compact=True, unit=True)) self.assertEqual('00:20', duration(20)) self.assertEqual('00:20m', duration(20, unit=True)) self.assertEqual('00:20m', duration(20, compact=True, unit=True)) self.assertEqual('n/a', duration(-1)) def test_seconds(self): self.assertEqual(10, seconds(10)) self.assertEqual(10, seconds('10')) self.assertEqual(300, seconds('5m')) self.assertEqual(320, seconds('5m20s')) self.assertEqual(4*3600, seconds('4h')) self.assertEqual(4*3600 + 5*60 + 22, seconds('4h5m22s')) self.assertEqual(4*3600 + 5*60, seconds('4h5m')) def test_temperature(self): self.assertEqual('10°C', astemperature(10)) self.assertEqual('10°C', astemperature(10, 'metric')) self.assertEqual('-100°F', astemperature(-100, 'imperial')) self.assertEqual('-100°K', astemperature('-100', 'kelvin')) # vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4