Ejemplo n.º 1
0
    def test_set_rx_freq(self):
        """ Tests the functionality of the 'set_rx_freq' command. """

        # Create a command handler to test with
        freq_mult = 1000000
        test_command = MagicMock()
        test_device = MagicMock()
        test_device._radio_state = {"shifted_rx_freq": 0, "set_rx_freq": 0}
        test_handler = icom_910.ICOM910Handler(test_device)

        # Setup a mock rig and submit a command which should set the initial frequency
        test_handler.radio_rig = MagicMock()
        test_handler.radio_rig.get_freq = lambda: 10 * freq_mult  # Convert to Hz from Mhz like Hamlib does
        test_handler.radio_rig.set_freq = lambda freq, vfo: Hamlib.RIG_OK
        test_command.parameters = {"rx_freq": 10}
        results = test_handler.command_set_rx_freq(test_command)

        # Check results and submit another command which simulates a doppler correction
        self.assertEqual(test_device._radio_state["shifted_rx_freq"], 0)
        self.assertEqual(test_device._radio_state["set_rx_freq"], 10 * freq_mult)
        self.assertEqual("The radio's RX frequency has been set.", results["message"])
        self.assertEqual(results["frequency"], 10)
        test_handler.radio_rig.get_freq = lambda: 5 * freq_mult
        test_command.parameters = {"rx_freq": 5}
        results = test_handler.command_set_rx_freq(test_command)

        # Verify results
        self.assertEqual(test_device._radio_state["shifted_rx_freq"], 5 * freq_mult)
        self.assertEqual(test_device._radio_state["set_rx_freq"], 10 * freq_mult)
        self.assertEqual("The radio's RX frequency has been set.", results["message"])
        self.assertEqual(results["frequency"], 5)
Ejemplo n.º 2
0
    def test_set_tx_freq(self):
        """ Tests the functionality of the 'set_tx_freq' command. """

        # Create a command handler to test with
        freq_mult = 1000000
        test_command = MagicMock()
        test_device = MagicMock()
        test_device._radio_state = {"shifted_tx_freq": 0, "set_tx_freq": 0}
        test_device.doppler_update_inactive_tx_delay = 2  # s
        mock_tnc_state = {
            "last_transmitted": int(time.time()) - test_device.doppler_update_inactive_tx_delay * 2,
            "output_buffer_size_bytes": 0,
        }
        test_device._tnc_state_service.get_state = lambda: mock_tnc_state
        test_handler = icom_910.ICOM910Handler(test_device)

        # Setup a mock rig and submit a command which should set the initial frequency
        test_handler.radio_rig = MagicMock()
        test_handler.radio_rig.get_split_freq = lambda: 10 * freq_mult  # Convert to Hz from Mhz like Hamlib does
        test_handler.radio_rig.set_split_freq = lambda vfo, freq: Hamlib.RIG_OK
        test_command.parameters = {"tx_freq": 10}
        results = test_handler.command_set_tx_freq(test_command)

        # Check results and submit another command which simulates a doppler correction
        self.assertEqual(test_device._radio_state["shifted_tx_freq"], 0)
        self.assertEqual(test_device._radio_state["set_tx_freq"], 10 * freq_mult)
        self.assertEqual("The radio's TX frequency has been set using a split.", results["message"])
        self.assertEqual(results["frequency"], 10)
        test_handler.radio_rig.get_split_freq = lambda: 5 * freq_mult
        test_command.parameters = {"tx_freq": 5}
        results = test_handler.command_set_tx_freq(test_command)

        # Verify results
        self.assertEqual(test_device._radio_state["shifted_tx_freq"], 5 * freq_mult)
        self.assertEqual(test_device._radio_state["set_tx_freq"], 10 * freq_mult)
        self.assertEqual("The radio's TX frequency has been set using a split.", results["message"])
        self.assertEqual(results["frequency"], 5)
Ejemplo n.º 3
0
    def test_set_mode_command(self):
        """ Tests the functionality of the 'set_mode' command. """

        # Create a command handler to test with
        test_command = MagicMock()
        test_device = MagicMock()
        test_device._radio_state = {}
        test_handler = icom_910.ICOM910Handler(test_device)

        def mock_rig_strrmode(mode):
            self.assertEqual(mode, "FM")
            return "FM"

        # Setup a mock rig and submit a test command
        Hamlib.rig_strrmode = mock_rig_strrmode
        test_handler.radio_rig = MagicMock()
        test_handler.radio_rig.set_mode = lambda mode: Hamlib.RIG_OK
        test_handler.radio_rig.get_mode = lambda: ("FM", 10)
        test_command.parameters = {"mode": "FM"}
        results = test_handler.command_set_mode(test_command)

        # Check results
        self.assertEqual(test_device._radio_state["mode"], "FM")
        self.assertEqual(results["message"], "The radio mode has been set.")