# -*- coding: utf-8 -*- import unittest from lib.exchange.okx_options_lib import format_position_row class OptionsDeltaFieldsTests(unittest.TestCase): def test_format_position_exposes_delta_bs(self): row = format_position_row( { "instId": "ETH-USD-261015-2500-C", "pos": "10", "avgPx": "0.02", "markPx": "0.025", "idxPx": "2600", "optType": "C", "stk": "2500", "deltaBS": "0.6123", "deltaPA": "1.23", }, ct_mult=0.1, ) self.assertAlmostEqual(row["delta"], 0.6123, places=4) self.assertAlmostEqual(row["delta_bs"], 0.6123, places=4) self.assertAlmostEqual(row["delta_pa"], 1.23, places=4) def test_format_position_falls_back_delta_field(self): row = format_position_row( { "instId": "BTC-USD-261015-80000-P", "pos": "1", "avgPx": "0.01", "markPx": "0.012", "idxPx": "82000", "optType": "P", "stk": "80000", "delta": "-0.45", }, ct_mult=0.01, ) self.assertAlmostEqual(row["delta"], -0.45, places=4) if __name__ == "__main__": unittest.main()