def test_to_dict_returns_expected_dict(self): # Arrange order = Order(price=10, size=5, side=OrderSide.BUY, id="1") delta = OrderBookDelta( instrument_id=AUDUSD, book_type=BookType.L2_MBP, action=BookAction.ADD, order=order, ts_event=0, ts_init=0, ) # Act result = OrderBookDelta.to_dict(delta) # Assert assert result == { "type": "OrderBookDelta", "instrument_id": "AUD/USD.SIM", "book_type": "L2_MBP", "action": "ADD", "order_id": "1", "order_price": 10.0, "order_side": "BUY", "order_size": 5.0, "update_id": 0, "ts_event": 0, "ts_init": 0, }
def test_from_dict_returns_expected_clear(self): # Arrange delta = OrderBookDelta( instrument_id=AUDUSD, book_type=BookType.L2_MBP, action=BookAction.CLEAR, order=None, ts_event=0, ts_init=0, ) # Act result = OrderBookDelta.from_dict(OrderBookDelta.to_dict(delta)) # Assert assert result == delta
def test_from_dict_returns_expected_delta(self): # Arrange order = Order(price=10, size=5, side=OrderSide.BUY) delta = OrderBookDelta( instrument_id=AUDUSD, book_type=BookType.L2_MBP, action=BookAction.ADD, order=order, ts_event=0, ts_init=0, ) # Act result = OrderBookDelta.from_dict(OrderBookDelta.to_dict(delta)) # Assert assert result == delta
def to_dict(obj) -> Dict: values = OrderBookDelta.to_dict(obj) values["type"] = obj.__class__.__name__ return values
def _parse_delta(delta: OrderBookDelta, cls): return dict(**OrderBookDelta.to_dict(delta), _type=cls.__name__)