def test_init(self): tv = psi.TimeSpec(5, 10) self.assertEqual(tv.tv_sec, 5) self.assertEqual(tv.tv_nsec, 10) tv = psi.TimeSpec(tv_sec=6, tv_nsec=11) self.assertEqual(tv.tv_sec, 6) self.assertEqual(tv.tv_nsec, 11)
def test_init_normalise(self): t = psi.TimeSpec(0, 1000000001) self.assertEqual(t.tv_sec, 1) self.assertEqual(t.tv_nsec, 1) t = psi.TimeSpec(-1, -1000000001) self.assertEqual(t.tv_sec, -1) self.assertEqual(t.tv_nsec, -999999999) t = psi.TimeSpec(0, -2000000000) self.assertEqual(t.tv_sec, -2) self.assertEqual(t.tv_nsec, 0) t = psi.TimeSpec(-1, 500000000) self.assertEqual(t.tv_sec, 0) self.assertEqual(t.tv_nsec, -500000000) t = psi.TimeSpec(1, -500000000) self.assertEqual(t.tv_sec, 0) self.assertEqual(t.tv_nsec, 500000000)
def setUp(self): self.tv = psi.TimeSpec(5, 10)
def test_bool(self): self.assertEqual(bool(self.tv), True) self.assertEqual(bool(psi.TimeSpec(0, 0)), False) self.assertEqual(bool(psi.TimeSpec(-1, -1)), True)
def test_sub_float(self): self.assertEqual(self.tv - 1.5, psi.TimeSpec(3, 500000010))
def test_gt(self): self.assert_(self.tv > psi.TimeSpec(5, 9)) self.assert_(not self.tv > psi.TimeSpec(5, 10))
def test_lt_distorted(self): self.assert_(self.tv < psi.TimeSpec(4, 1000000015))
def test_eq(self): self.assertEqual(self.tv, psi.TimeSpec(5, 10))
def test_sub(self): self.assertEqual(self.tv - psi.TimeSpec(1, 5), psi.TimeSpec(4, 5))
def test_add_float(self): self.assertEqual(self.tv + 5.5, psi.TimeSpec(10, 500000010))
def test_add_int(self): self.assertEqual(self.tv + 5, psi.TimeSpec(10, 10))
def test_add_tuple(self): self.assertEqual(self.tv + (5, 10), psi.TimeSpec(10, 20))
def test_add_rollover(self): sum = self.tv + psi.TimeSpec(0, 999999995) self.assertEqual(sum, psi.TimeSpec(6, 5))
def test_add(self): self.assertEqual(self.tv + psi.TimeSpec(5, 10), psi.TimeSpec(10, 20))
def test_gt_distorted(self): self.assert_(psi.TimeSpec(4, 1000000015) > self.tv)
def test_sub_rollover(self): self.assertEqual(self.tv - psi.TimeSpec(0, 15), psi.TimeSpec(4, 999999995))
def test_hash(self): self.assertEqual(hash(self.tv), hash(psi.TimeSpec(5, 10)))
def test_sub_tuple(self): self.assertEqual(self.tv - (1, 5), psi.TimeSpec(4, 5))
def test_ne(self): self.assertNotEqual(self.tv, psi.TimeSpec(5, 11)) self.assertNotEqual(self.tv, psi.TimeSpec(4, 10)) self.assertNotEqual(self.tv, psi.TimeSpec(4, 11))
def test_sub_int(self): self.assertEqual(self.tv - 1, psi.TimeSpec(4, 10))
def test_le(self): self.assert_(self.tv <= psi.TimeSpec(5, 11)) self.assert_(self.tv <= psi.TimeSpec(5, 10)) self.assert_(not self.tv <= psi.TimeSpec(5, 9))
def test_cputime_sum(self): variance = psi.TimeSpec(1, 0) min = self.p.cputime - variance max = self.p.cputime + variance self.assert_(min < self.p.utime + self.p.stime < max, '%s < %s < %s' % (min, self.p.utime + self.p.stime, max))