def test_changeFreq(self): mockTime = self.mockTime mockTime.timeNow = 5020.8 b = SysClock() c = CorrelatedClock(b, 1000, correlation=(50,300)) self.assertAlmostEqual(c.ticks, (5020.8*1000000 - 50)/(1000000/1000) + 300, places=5) self.assertEqual(c.tickRate, 1000) c.tickRate = 500 self.assertEqual(c.tickRate, 500) self.assertAlmostEqual(c.ticks, (5020.8*1000000 - 50)/(1000000/500) + 300, places=5)
def test_changeFreq(self): mockTime = self.mockTime b = self.newSysClock() mockTime.timeNow = 5020.8 c = CorrelatedClock(b, 1000, correlation=Correlation(50, 300)) self.assertAlmostEqual(c.ticks, (5020.8 * 1000000 - 50) / (1000000 / 1000) + 300, places=5) self.assertEqual(c.tickRate, 1000) c.tickRate = 500 self.assertEqual(c.tickRate, 500) self.assertAlmostEqual(c.ticks, (5020.8 * 1000000 - 50) / (1000000 / 500) + 300, places=5)
def test_changeFreqNotifies(self): mockTime = self.mockTime mockTime.timeNow = 5020.8 b = SysClock() c = CorrelatedClock(b, 1000, correlation=(50,300)) cc = CorrelatedClock(c, 50) d1 = MockDependent() d2 = MockDependent() d3 = MockDependent() b.bind(d1) c.bind(d2) cc.bind(d3) c.tickRate = 500 d1.assertNotNotified() d2.assertNotificationsEqual([c]) d3.assertNotificationsEqual([cc])
def test_changeFreqNotifies(self): mockTime = self.mockTime b = self.newSysClock() mockTime.timeNow = 5020.8 c = CorrelatedClock(b, 1000, correlation=Correlation(50, 300)) cc = CorrelatedClock(c, 50) d1 = MockDependent() d2 = MockDependent() d3 = MockDependent() b.bind(d1) c.bind(d2) cc.bind(d3) c.tickRate = 500 d1.assertNotNotified() d2.assertNotificationsEqual([c]) d3.assertNotificationsEqual([cc])
def test_clockDiff(self): a = self.newSysClock() self.mockTime.timeNow = 1 b = CorrelatedClock(a, 1000, correlation=Correlation(0, 0)) c = CorrelatedClock(b, 2000, correlation=Correlation(0, 0)) d = CorrelatedClock(c, 3000, correlation=Correlation(0, 0)) e = RangeCorrelatedClock(d, 1000, Correlation(5, 0), Correlation(15005, 5000)) self.assertEquals(float('inf'), b.clockDiff(c)) self.assertEquals(float('inf'), b.clockDiff(d)) self.assertAlmostEquals(0.001666667, b.clockDiff(e), delta=0.000001) self.mockTime.timeNow += 10000000 self.assertEquals(float('inf'), b.clockDiff(c)) self.assertEquals(float('inf'), b.clockDiff(d)) self.assertAlmostEquals(0.001666667, b.clockDiff(e), delta=0.000001) c.tickRate = 1000 self.assertEquals(0, b.clockDiff(c)) c.speed = 1.01 self.assertEquals(float('inf'), b.clockDiff(c))