Exemplo n.º 1
0
    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()
Exemplo n.º 2
0
    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()