update etc/*
This commit is contained in:
@@ -73,10 +73,7 @@ class OrderBookTests(unittest.TestCase):
|
||||
self.assertEqual((book.positions, book.deals, book.deals_sys_ids), ({}, {}, set()))
|
||||
first = self.deal('base', 'd1', 40, 10, '20260901')
|
||||
second = self.deal('base', 'd2', 60, 12)
|
||||
with patch.object(book, '_insert_deals', wraps=book._insert_deals) as insert:
|
||||
book.sync_deals([first, first, second])
|
||||
insert.assert_called_once()
|
||||
self.assertEqual(len(insert.call_args.args[1]), 2)
|
||||
book.sync_deals([first, first, second])
|
||||
self.assertEqual(book.deals_sys_ids, {'d1', 'd2'})
|
||||
self.assertEqual(book.deals['d1']['trade_date'], '2026-09-01')
|
||||
self.assertEqual(book.deals['d2']['volume'], 60)
|
||||
@@ -84,10 +81,10 @@ class OrderBookTests(unittest.TestCase):
|
||||
book = OrderBook(self.path)
|
||||
self.assertEqual(book.deals_sys_ids, {'d1', 'd2'})
|
||||
self.assertEqual(book.deals['d1']['order_local_id'], 'zt-base-order1')
|
||||
with patch.object(book, '_insert_deals') as insert:
|
||||
with patch.object(book, '_connect') as connect:
|
||||
book.sync_deals([first, second])
|
||||
book.sync_deals([])
|
||||
insert.assert_not_called()
|
||||
connect.assert_not_called()
|
||||
self.assertEqual(len(book.deals), 2)
|
||||
|
||||
def test_sync_deals_failure_rolls_back_entire_batch_and_cache(self):
|
||||
@@ -169,6 +166,8 @@ class OrderBookTests(unittest.TestCase):
|
||||
|
||||
def test_position_columns_defaults_indexes_and_stable_id(self):
|
||||
store = OrderBook(self.path)
|
||||
store.sync_deals([self.deal('base', 'd1', 100, 10)])
|
||||
saved_deals = dict(store.deals)
|
||||
with closing(sqlite3.connect(self.path)) as db:
|
||||
columns = {row[1] for row in db.execute('PRAGMA table_info(positions)')}
|
||||
self.assertEqual(columns, {'id', *(field.name for field in fields(PositionItem))})
|
||||
@@ -186,6 +185,7 @@ class OrderBookTests(unittest.TestCase):
|
||||
self.assertEqual(store.positions[position.stock_code]['volume'], 200)
|
||||
store.sync_positions([])
|
||||
self.assertEqual(store.positions, {})
|
||||
self.assertEqual(store.deals, saved_deals)
|
||||
store.sync_positions([PositionItem(stock_code='600001.SH')])
|
||||
self.assertGreater(store.positions['600001.SH']['id'], first_id)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user