BUG: Address issue #801 and add test. Pass panel directly to

object instead of data.
This commit is contained in:
puppy
2015-11-05 10:18:57 -05:00
committed by Richard Frank
parent e50858315b
commit a82415c77b
2 changed files with 32 additions and 1 deletions
+31
View File
@@ -1891,3 +1891,34 @@ class TestFutureFlip(TestCase):
actual_position, expected_positions[i],
"position for day={0} not equal, actual={1}, expected={2}".
format(i, actual_position, expected_positions[i]))
class TestTradingAlgorithm(TestCase):
def setUp(self):
self.env = TradingEnvironment()
self.days = self.env.trading_days[:4]
self.panel = pd.Panel({1: pd.DataFrame({
'price': [1, 1, 2, 4], 'volume': [1e9, 1e9, 1e9, 0],
'type': [DATASOURCE_TYPE.TRADE,
DATASOURCE_TYPE.TRADE,
DATASOURCE_TYPE.TRADE,
DATASOURCE_TYPE.CLOSE_POSITION]},
index=self.days)
})
def test_analyze_called(self):
results_ref = None
def initialize(self, context):
pass
def handel_data(self, context, data):
pass
def analyze(self, perf):
self.perf_ref = perf
algo = TradingAlgorithm(initialize = initialize, handle_data=handel_data,
analyze = analyze)
results = algo.run(self.panel)
self.assertEqual(results, results_ref)