"""Tests for rtl_fm modulation token mapping.""" from routes.listening_post import _rtl_fm_demod_mode as listening_post_rtl_mode from utils.sdr.base import SDRDevice, SDRType from utils.sdr.rtlsdr import RTLSDRCommandBuilder from utils.sdr.rtlsdr import _rtl_fm_demod_mode as builder_rtl_mode def _dummy_rtlsdr_device() -> SDRDevice: return SDRDevice( sdr_type=SDRType.RTL_SDR, index=0, name='RTL-SDR', serial='00000001', driver='rtlsdr', capabilities=RTLSDRCommandBuilder.CAPABILITIES, ) def test_rtl_fm_modulation_maps_wfm_to_wbfm() -> None: assert listening_post_rtl_mode('wfm') == 'wbfm' assert builder_rtl_mode('wfm') == 'wbfm' def test_rtl_fm_modulation_keeps_other_modes() -> None: assert listening_post_rtl_mode('fm') == 'fm' assert builder_rtl_mode('am') == 'am' def test_rtlsdr_builder_uses_wbfm_token_for_wfm() -> None: builder = RTLSDRCommandBuilder() cmd = builder.build_fm_demod_command( device=_dummy_rtlsdr_device(), frequency_mhz=98.1, modulation='wfm', ) mode_index = cmd.index('-M') assert cmd[mode_index + 1] == 'wbfm'