def testProcessTradingRuleSpec(self): ruleA = TradingRule(ewmac_forecast_with_defaults) ruleB = TradingRule(dict(function="systems.provided.example.rules.ewmac_forecast_with_defaults_no_vol", data=["rawdata.daily_prices", "rawdata.daily_returns_volatility"], other_args=dict(Lfast=50, Lslow=200))) trading_rules = dict(ruleA=ruleA, ruleB=ruleB) ans = process_trading_rules(trading_rules) assert "ruleA" in ans.keys() assert "ruleB" in ans.keys() trading_rules = [ruleA, ruleB] ans = process_trading_rules(trading_rules) assert "rule1" in ans.keys() ans = process_trading_rules(ruleA) assert ans['rule0'].function == ewmac_forecast_with_defaults ans = process_trading_rules(ewmac_forecast_with_defaults) assert ans['rule0'].function == ewmac_forecast_with_defaults ans = process_trading_rules([dict(function="systems.provided.example.rules.ewmac_forecast_with_defaults_no_vol", data=["rawdata.daily_prices", "rawdata.daily_returns_volatility"], other_args=dict(Lfast=50, Lslow=200))]) assert ans['rule0'].other_args['Lfast'] == 50