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