class TestEventManager(TestCase): def setUp(self): self.em = EventManager() self.event1 = Event(Always(), lambda context, data: None) self.event2 = Event(Always(), lambda context, data: None) def test_add_event(self): self.em.add_event(self.event1) self.assertEqual(len(self.em._events), 1) def test_add_event_prepend(self): self.em.add_event(self.event1) self.em.add_event(self.event2, prepend=True) self.assertEqual([self.event2, self.event1], self.em._events) def test_add_event_append(self): self.em.add_event(self.event1) self.em.add_event(self.event2) self.assertEqual([self.event1, self.event2], self.em._events) def test_checks_should_trigger(self): class CountingRule(Always): count = 0 def should_trigger(self, dt): CountingRule.count += 1 return True for r in [CountingRule] * 5: self.em.add_event(Event(r(), lambda context, data: None)) self.em.handle_data(None, None, datetime.datetime.now()) self.assertEqual(CountingRule.count, 5)
class TestEventManager(TestCase): def setUp(self): self.em = EventManager() self.event1 = Event(Always()) self.event2 = Event(Always()) def test_add_event(self): self.em.add_event(self.event1) self.assertEqual(len(self.em._events), 1) def test_add_event_prepend(self): self.em.add_event(self.event1) self.em.add_event(self.event2, prepend=True) self.assertEqual([self.event2, self.event1], self.em._events) def test_add_event_append(self): self.em.add_event(self.event1) self.em.add_event(self.event2) self.assertEqual([self.event1, self.event2], self.em._events) def test_checks_should_trigger(self): class CountingRule(Always): count = 0 def should_trigger(self, dt): CountingRule.count += 1 return True for r in [CountingRule] * 5: self.em.add_event(Event(r())) self.em.handle_data(None, None, datetime.datetime.now()) self.assertEqual(CountingRule.count, 5)
class TestEventManager(TestCase): def setUp(self): self.em = EventManager() self.event1 = Event(Always(), lambda context, data: None) self.event2 = Event(Always(), lambda context, data: None) def test_add_event(self): self.em.add_event(self.event1) self.assertEqual(len(self.em._events), 1) def test_add_event_prepend(self): self.em.add_event(self.event1) self.em.add_event(self.event2, prepend=True) self.assertEqual([self.event2, self.event1], self.em._events) def test_add_event_append(self): self.em.add_event(self.event1) self.em.add_event(self.event2) self.assertEqual([self.event1, self.event2], self.em._events) def test_checks_should_trigger(self): class CountingRule(Always): count = 0 def should_trigger(self, dt, env): CountingRule.count += 1 return True for r in [CountingRule] * 5: self.em.add_event( Event(r(), lambda context, data: None) ) mock_algo_class = namedtuple('FakeAlgo', ['trading_environment']) mock_algo = mock_algo_class(trading_environment="fake_env") self.em.handle_data(mock_algo, None, datetime.datetime.now()) self.assertEqual(CountingRule.count, 5)