def test_register_strategy(self): trading_engine = TradingEngine() trading_engine.register(self.strategy) # lets check that the trading engine was setup correctly for key in trading_engine.subscribers.keys(): event = trading_engine.subscribers[key] for strategy in event.keys(): self.assertEquals(self.strategy, strategy) self.assertEquals(self.symbols, event[strategy]['symbols']) self.assertEquals(0, event[strategy]['fail'])
def test_unregister_strategy(self): trading_engine = TradingEngine() trading_engine.register(self.strategy) self.assertEquals(len(trading_engine.strategies), 2) trading_engine.unregister(self.strategy) # since this was the only strategy check if events is empty self.assertEquals(len(trading_engine.strategies), 0) trading_engine.register(self.strategy) trading_engine.register(self.strategy2) self.assertEquals(len(trading_engine.strategies), 2) self.assertEquals(len(map(lambda vdict: vdict.keys(), trading_engine.strategies.values())[0]), 2) self.assertEquals(len(map(lambda vdict: vdict.keys(), trading_engine.strategies.values())[1]), 2) trading_engine.unregister(self.strategy) self.assertEquals(len(trading_engine.strategies.keys()), 2) self.assertEquals(len(map(lambda vdict: vdict.keys(), trading_engine.strategies.values())[0]), 1) self.assertEquals(len(map(lambda vdict: vdict.keys(), trading_engine.strategies.values())[1]), 1)