def testStepNewEvents(self): """ Test that step correctly enqueues new events. """ stub = NetworkObjectStubWithNewEvents() e1 = Event(5, stub, 'message') e2 = Event(0, stub, 'message') e3 = Event(7, stub, 'message') e4 = PacketEvent(1, 'sender2', stub, 4, 'message5') eventList = [e1, e2, e3, e4] eventHandler = EventHandler('network', eventList) self.assertEqual(e2, eventHandler.step()) self.assertEqual(e4, eventHandler.step()) self.assertEqual(e1, eventHandler.step()) self.assertEqual(e3, eventHandler.step()) # Test that there are 8 more Events enqueued and in the correct order self.assertEqual(8, eventHandler._queue.qsize()) for i in xrange(102, 110): self.assertEqual(i, eventHandler.step().timestamp) # Test that stepping into an empty queue raises Empty with self.assertRaises(Empty) as e: eventHandler.step()
def testStepOrder(self): """ Test that step grabs the event with smallest timestamp. """ stub = NetworkObjectStub() e1 = Event(5, stub, 'message') e2 = Event(0, stub, 'message') e3 = Event(7, stub, 'message') e4 = PacketEvent(1, 'sender2', stub, 4, 'message5') eventList = [e1, e2, e3, e4] eventHandler = EventHandler('network', eventList) # Test that there are 4 Events enqueued and in the correct order self.assertEqual(4, eventHandler._queue.qsize()) self.assertEqual(e2, eventHandler.step()) self.assertEqual(e4, eventHandler.step()) self.assertEqual(e1, eventHandler.step()) self.assertEqual(e3, eventHandler.step()) # Test that stepping into an empty queue raises Empty with self.assertRaises(Empty) as e: eventHandler.step()