def test_timestampsascend(self):
        """Timestamps ascend. No two are the same."""
        timestamper, target, execute = self.__preroll()

        items1 = ['a', ('b', 7), 'c', 'd', 'e']
        items2 = [9, 4, 2, None]

        for item in items1:
            timestamper._deliver(item, "inbox")

        for i in range(0, 100):
            execute.next()

        for item in items2:
            timestamper._deliver(item, "inbox")
            for i in range(0, 10):
                execute.next()

        self.assert_(target.dataReady("inbox"))
        (prevts, d) = target.recv("inbox")
        self.assert_(d == items1[0])

        for item in items1[1:] + items2:
            self.assert_(target.dataReady("inbox"))
            (ts, d) = target.recv("inbox")
            self.assert_(d == item)
            self.assert_(prevts < ts)
            prevts = ts
    def test_outputisinputtupledwithtimestamp(self):
        """Output is (timestamp, input)"""
        timestamper, target, execute = self.__preroll()

        data = ("flurble", "plig", 7)
        timestamper._deliver(data, "inbox")
        for i in range(0, 10):
            execute.next()

        self.assert_(target.dataReady("inbox"))
        (ts, d) = target.recv("inbox")
        self.assert_(d == data)