def test_asset_class_parser_given_invalid_value_raises_value_error(self):
        # Arrange
        # Act
        # Assert
        with pytest.raises(ValueError):
            AssetClassParser.to_str_py(0)

        with pytest.raises(ValueError):
            AssetClassParser.from_str_py("")
    def test_asset_class_from_str(self, string, expected):
        # Arrange
        # Act
        result = AssetClassParser.from_str_py(string)

        # Assert
        self.assertEqual(expected, result)
    def test_asset_class_to_str(self, enum, expected):
        # Arrange
        # Act
        result = AssetClassParser.to_str_py(enum)

        # Assert
        self.assertEqual(expected, result)
    def test_asset_class_from_str(self, string, expected):
        # Arrange
        # Act
        result = AssetClassParser.from_str_py(string)

        # Assert
        assert expected == result
    def test_asset_class_to_str(self, enum, expected):
        # Arrange
        # Act
        result = AssetClassParser.to_str_py(enum)

        # Assert
        assert expected == result
Beispiel #6
0
def sec_type_to_asset_class(sec_type: str):
    mapping = {
        "STK": "EQUITY",
        "IND": "INDEX",
        "CASH": "FX",
        "BOND": "BOND",
    }
    return AssetClassParser.from_str_py(mapping.get(sec_type, sec_type))
Beispiel #7
0
 def _parse_instrument(
     self,
     asset_type: AssetType,
     instrument_id: InstrumentId,
     details: Dict,
     contract_details: ContractDetails,
 ) -> Instrument:
     if asset_type == AssetType.FUTURE:
         PyCondition.is_in("asset_class", details, "asset_class", "details")
         return self._parse_futures_contract(
             instrument_id=instrument_id,
             asset_class=AssetClassParser.from_str_py(details["asset_class"]),
             details=contract_details,
         )
     elif asset_type == AssetType.SPOT:
         return self._parse_equity_contract(
             instrument_id=instrument_id, details=contract_details
         )
     else:
         raise TypeError(f"No parser for asset_type {asset_type}")