コード例 #1
0
ファイル: test_trellis.py プロジェクト: tomjoy/trellis
 def testUpdateUndo(self):
     t = Time()
     t.auto_update = False
     t20 = t[20]
     d(trellis.Cell)
     def checktime():
         if t.reached(t20):
             self.force_rollback()
     checktime.value
     self.assertEqual(t._schedule, [t20._when, Max])
     self.assertEqual(list(t._events), [t20._when])
     self.assertRaises(DummyError, t.advance, 20)
     self.assertEqual(t._schedule, [t20._when, Max])
     self.assertEqual(list(t._events), [t20._when])
コード例 #2
0
ファイル: test_trellis.py プロジェクト: sgricci/digsby
    def testUpdateUndo(self):
        t = Time()
        t.auto_update = False
        t20 = t[20]

        @trellis.Cell
        def checktime():
            if t.reached(t20):
                self.force_rollback()

        checktime.value
        self.assertEqual(t._schedule, [t20._when, Max])
        self.assertEqual(list(t._events), [t20._when])
        self.assertRaises(DummyError, t.advance, 20)
        self.assertEqual(t._schedule, [t20._when, Max])
        self.assertEqual(list(t._events), [t20._when])
コード例 #3
0
ファイル: test_trellis.py プロジェクト: niterain/digsby
    def testIndependentNextEventTime(self):
        # Ensure that next_event_time() never returns a *past* time
        t = Time()
        t.auto_update = False
        t20 = t[20]
        t40 = t[40]

        @trellis.Cell
        def check_reached():
            t.reached(t20)
            t.reached(t40)
            nt = t.next_event_time(True)
            self.failIf(nt is not None and nt <= 0)

        check_reached.value
        t.advance(25)
        t.advance(15)
コード例 #4
0
ファイル: test_trellis.py プロジェクト: sgricci/digsby
    def testIndependentNextEventTime(self):
        # Ensure that next_event_time() never returns a *past* time
        t = Time()
        t.auto_update = False
        t20 = t[20]
        t40 = t[40]

        @trellis.Cell
        def check_reached():
            t.reached(t20)
            t.reached(t40)
            nt = t.next_event_time(True)
            self.failIf(nt is not None and nt <= 0)

        check_reached.value
        t.advance(25)
        t.advance(15)
コード例 #5
0
ファイル: test_trellis.py プロジェクト: tomjoy/trellis
 def testScheduleUndo(self):
     t = Time()
     t.auto_update = False
     t20 = t[20]
     log = []
     d(trellis.Cell)
     def checktime():
         t.reached(t20)
         log.append(t._events[t20._when])
         d(trellis.Performer)
         def err_after_reached():
             if len(t._schedule)>1:
                 raise DummyError
     self.assertRaises(DummyError, checktime.get_value)
     self.assertEqual(t._schedule, [t20._when, Max])
     self.assertEqual(dict(t._events), {t20._when:log[0]})
     del checktime
     self.failUnless(isinstance(log.pop(), trellis.Sensor))
     self.assertEqual(dict(t._events), {})
     self.assertEqual(log, [])
コード例 #6
0
ファイル: test_trellis.py プロジェクト: sgricci/digsby
    def testScheduleUndo(self):
        t = Time()
        t.auto_update = False
        t20 = t[20]
        log = []

        @trellis.Cell
        def checktime():
            t.reached(t20)
            log.append(t._events[t20._when])

            @trellis.Performer
            def err_after_reached():
                if len(t._schedule) > 1:
                    raise DummyError

        self.assertRaises(DummyError, checktime.get_value)
        self.assertEqual(t._schedule, [t20._when, Max])
        self.assertEqual(dict(t._events), {t20._when: log[0]})
        del checktime
        self.failUnless(isinstance(log.pop(), trellis.Sensor))
        self.assertEqual(dict(t._events), {})
        self.assertEqual(log, [])
コード例 #7
0
ファイル: test_trellis.py プロジェクト: sgricci/digsby
 def configure_context(self):
     from peak.events.activity import Time, EventLoop
     from twisted.internet import reactor
     Time <<= lambda: Time()
     Time.time = reactor.getTime
     EventLoop <<= TwistedEventLoop