コード例 #1
0
    def setUp(self):
        self.queue = EventQueue()
        self.event = prototype.JobEvent(timestamp=0, job=None)
        self.events = [
            prototype.JobEvent(timestamp=i, job=None) for i in xrange(10)
        ]

        self.handler = _create_handler()
コード例 #2
0
 def test_sometimes_relevant_handler(self):
     self.queue.add_handler(prototype.JobEvent, self.handler)
     self._add_event_and_advance(prototype.JobEvent(timestamp=0, job="x"))
     self.failUnless(self.handler.called)
     self.handler.called = False
     self._add_event_and_advance(
         prototype.JobStartEvent(timestamp=1, job="x"))
     self.failIf(self.handler.called)
     self._add_event_and_advance(prototype.JobEvent(timestamp=2, job="x"))
     self.failUnless(self.handler.called)
コード例 #3
0
 def test_sort_order(self):
     e1 = prototype.JobEvent(timestamp=10, job="abc")
     e2 = prototype.JobEvent(timestamp=22, job="abc")
     self.failUnless(e1 < e2)
     self.failIf(e1 >= e2)
コード例 #4
0
 def test_nonequal_type(self):
     e1 = prototype.JobEvent(timestamp=10, job="abc")
     e2 = prototype.JobStartEvent(timestamp=10, job="abc")  # different type
     self.assertNotEqual(e1, e2)
コード例 #5
0
 def test_nonequal_job(self):
     e1 = prototype.JobEvent(timestamp=10, job="abc")
     e2 = prototype.JobEvent(timestamp=10, job="def")
     self.assertNotEqual(e1, e2)
コード例 #6
0
 def test_equal(self):
     e1 = prototype.JobEvent(timestamp=10, job="abc")
     e2 = prototype.JobEvent(timestamp=10, job="abc")
     self.assertEqual(e1, e2)
コード例 #7
0
 def test_str_sanity(self):
     str(prototype.JobEvent(timestamp=11, job=None))
コード例 #8
0
 def test_add_event_same_timestamp_after_advance(self):
     # same timestamp should succeed even after an event has been handled
     self._add_event_and_advance(prototype.JobEvent(timestamp=2, job="x"))
     self.queue.add_event(prototype.JobEvent(timestamp=2, job="y"))
コード例 #9
0
 def test_add_event_earlier_event_after_later_advance(self):
     # after handling an event with a later timestamp, adding an event with
     # an older timestamp should fail
     self._add_event_and_advance(prototype.JobEvent(timestamp=2, job="x"))
     self.assertRaises(Exception, self.queue.add_event,
                       prototype.JobEvent(timestamp=1, job="x"))
コード例 #10
0
 def test_remove_event_fails_on_missing_event(self):
     event1 = prototype.JobEvent(0, 0)
     event2 = prototype.JobEvent(0, 1)
     assert event1 != event2  # different events
     self.queue.add_event(event1)
     self.assertRaises(Exception, self.queue.remove_event, event2)
コード例 #11
0
def _gen_random_timestamp_events():
    return [
        prototype.JobEvent(timestamp=random.randrange(0, 100), job=str(i))
        for i in xrange(30)
    ]