def test_read(self): """ Test most important part in class """ keys = [ 'working_order', 'filled_order', 'cancelled_order', 'rolling_strategy' ] for fname in self.fnames: data = open(fname).read() print 'fname: %s' % fname open_acc = OpenTA(data=data) result = open_acc.read() self.assertEqual(type(result), dict) self.assertEqual(len(result), 4) pprint(result, width=200) for key in result.keys(): if key == 'summary': self.assertEqual(type(result[key]), dict) else: self.assertEqual(type(result[key]), list) self.assertIn(key, keys) print '\n' + '-' * 100 + '\n'
def test_ready(self): """ Test ready file then return data """ keys = [ 'working_order', 'filled_order', 'cancelled_order', 'rolling_strategy' ] for fname in self.fnames: data = open(fname).read() print 'fname: %s' % fname open_ta = OpenTA(data=data) result = open_ta.read() self.assertEqual(type(result), dict) self.assertEqual(len(result), 4) pprint(result, width=400) for key in result.keys(): self.assertEqual(type(result[key]), list) self.assertIn(key, keys) print '\n' + '-' * 100 + '\n'
def test_read_save(self): """ Open TA file data then save all fields into db """ for key, ta_file in enumerate(self.ta_files, start=1): print '%d. run filename: %s' % (key, ta_file) print 'starting...\n' date = os.path.basename(ta_file)[0:10] data = open(ta_file).read() statement = models.Statement( date=date, account_statement='None', position_statement='None', trade_activity=data, ) statement.save() trade_activity = models.TradeSummary(statement=statement, date=date) trade_activity.save() print 'statement id: %d' % statement.id print 'trade_activity id: %d' % trade_activity.id print 'using open_ta to make dict data...' ta_data = OpenTA(data=data).read() print 'keys: %s\n' % ta_data.keys() self.insert_db(no=key, trade_activity=trade_activity, test_model=models.FilledOrder, data_list=ta_data['filled_order']) self.insert_db(no=key, trade_activity=trade_activity, test_model=models.CancelledOrder, data_list=ta_data['cancelled_order']) self.insert_db(no=key, trade_activity=trade_activity, test_model=models.WorkingOrder, data_list=ta_data['working_order']) self.insert_db(no=key, trade_activity=trade_activity, test_model=models.RollingStrategy, data_list=ta_data['rolling_strategy']) print '\n' + '-' * 100
def setUp(self): TestSetUp.setUp(self) self.fnames = glob(os.path.join(test_ta_path, '/*.csv')) + [ os.path.join(test_path, '2014-10-31', '2014-10-31-TradeActivity.csv'), os.path.join(test_path, '2014-11-01', '2014-11-01-TradeActivity.csv') ] self.test_file = self.fnames[0] self.test_data = open(self.test_file).read() self.open_ta = OpenTA(data=self.test_data)
def __init__(self, date, statement, file_data): """ :param date: str :param statement: Statement :param file_data: str, raw file read """ SaveAppModel.__init__(self, date, statement, file_data) ta_data = OpenTA(data=self.file_data).read() self.working_order = ta_data['working_order'] self.filled_order = ta_data['filled_order'] self.cancelled_order = ta_data['cancelled_order'] self.rolling_strategy = ta_data['rolling_strategy'] self.trade_activity = None