def test_orderbook_level_parser_given_invalid_value_raises_value_error(self): # Arrange, Act, Assert with pytest.raises(ValueError): BookTypeParser.to_str_py(0) with pytest.raises(ValueError): BookTypeParser.from_str_py("")
def _build_order_book_deltas(values): return OrderBookDeltas( instrument_id=InstrumentId.from_str(values[0]["instrument_id"]), book_type=BookTypeParser.from_str_py(values[0]["book_type"]), deltas=[OrderBookDelta.from_dict(v) for v in values], ts_event=values[0]["ts_event"], ts_init=values[0]["ts_init"], )
def test_orderbook_level_from_str(self, string, expected): # Arrange, Act if expected is None: return result = BookTypeParser.from_str_py(string) # Assert assert expected == result
def _build_order_book_snapshot(values): # First value is a CLEAR message, which we ignore assert len(set([v["instrument_id"] for v in values])) == 1 assert len(values) >= 2, f"Not enough values passed! {values}" return OrderBookSnapshot( instrument_id=InstrumentId.from_str(values[1]["instrument_id"]), book_type=BookTypeParser.from_str_py(values[1]["book_type"]), bids=[(order["order_price"], order["order_size"]) for order in values[1:] if order["order_side"] == "BUY"], asks=[(order["order_price"], order["order_size"]) for order in values[1:] if order["order_side"] == "SELL"], ts_event=values[1]["ts_event"], ts_init=values[1]["ts_init"], )
def from_dict(values) -> "BSPOrderBookDelta": PyCondition.not_none(values, "values") action: BookAction = BookActionParser.from_str_py(values["action"]) order: Order = (Order.from_dict({ "price": values["order_price"], "size": values["order_size"], "side": values["order_side"], "id": values["order_id"], }) if values["action"] != "CLEAR" else None) return BSPOrderBookDelta( instrument_id=InstrumentId.from_str(values["instrument_id"]), book_type=BookTypeParser.from_str_py(values["book_type"]), action=action, order=order, ts_event=values["ts_event"], ts_init=values["ts_init"], )
def test_orderbook_level_to_str(self, enum, expected): # Arrange, Act result = BookTypeParser.to_str_py(enum) # Assert assert expected == result