| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- import unittest
- from sccd.util.duration import *
- class TestDuration(unittest.TestCase):
- def test_equal(self):
- # The same amount of time, but objects not considered equal.
- x = duration(1000, Millisecond)
- y = duration(1, Second)
- z = duration(3, Day)
- self.assertEqual(x, y)
- self.assertEqual(y, x)
- self.assertNotEqual(x, z)
- def test_gcd(self):
- x = duration(20, Second)
- y = duration(100, Microsecond)
- u = gcd(x, y)
- v = gcd(y, x)
- self.assertEqual(u, duration(100, Microsecond))
- self.assertEqual(v, duration(100, Microsecond))
- def test_gcd_zero(self):
- x = duration(0)
- y = duration(100, Microsecond)
- u = gcd(x, y)
- v = gcd(y, x)
- self.assertEqual(u, duration(100, Microsecond))
- self.assertEqual(v, duration(100, Microsecond))
- def test_gcd_many(self):
- l = [duration(3, Microsecond), duration(0), duration(10, Millisecond)]
- u = gcd(*l)
- self.assertEqual(u, duration(1, Microsecond))
- def test_gcd_few(self):
- l = [duration(3, Microsecond)]
- u = gcd(*l)
- self.assertEqual(u, duration(3, Microsecond))
- def test_gcd_none(self):
- l = []
- u = gcd(*l)
- self.assertEqual(u, duration(0))
- def test_mult(self):
- x = duration(10, Millisecond)
-
- self.assertEqual(x * 10, duration(100, Millisecond))
- self.assertEqual(10 * x, duration(100, Millisecond))
- def test_floordiv(self):
- x = duration(100, Millisecond)
- y = duration(10, Millisecond)
- z = duration(3, Millisecond)
- # Duration divided by duration is factor
- self.assertEqual(x // y, 10)
- self.assertEqual(y // x, 0)
- self.assertEqual(x // z, 33)
- self.assertRaises(ZeroDivisionError, lambda: x // duration(0))
- def test_mod(self):
- x = duration(100, Millisecond)
- y = duration(10, Microsecond)
- z = duration(1, Second)
- i = duration(3, Millisecond)
- self.assertEqual(x % y, duration(0))
- self.assertEqual(x % z, duration(100, Millisecond))
- self.assertEqual(x % i, duration(1, Millisecond))
|