def test_mock_lcm_roundtrip(self): dut = DrakeMockLcm() self.assertIsInstance(dut, DrakeLcmInterface) dut.Subscribe(channel="TEST_CHANNEL", handler=self._handler) dut.Publish(channel="TEST_CHANNEL", buffer=self.quat.encode()) self.assertEqual(self.count, 0) dut.HandleSubscriptions(0) self.assertEqual(self.count, 1)
def test_subscriber(self): lcm = DrakeMockLcm() dut = mut.LcmSubscriberSystem.Make(channel="TEST_CHANNEL", lcm_type=quaternion_t, lcm=lcm) model_message = self._model_message() lcm.Publish(channel="TEST_CHANNEL", buffer=model_message.encode()) lcm.HandleSubscriptions(0) actual_message = self._calc_output(dut).get_value() self.assert_lcm_equal(actual_message, model_message)
def test_subscriber(self): lcm = DrakeMockLcm() dut = mut.LcmSubscriberSystem.Make( channel="TEST_CHANNEL", lcm_type=quaternion_t, lcm=lcm) model_message = self._model_message() lcm.Publish(channel="TEST_CHANNEL", buffer=model_message.encode()) lcm.HandleSubscriptions(0) context = self._process_event(dut) actual_message = dut.get_output_port(0).Eval(context) self.assert_lcm_equal(actual_message, model_message)
def test_subscriber(self): mock = DrakeMockLcm() dut = Subscriber(lcm=mock, channel="CHANNEL", lcm_type=quaternion_t) mock.Publish(channel="CHANNEL", buffer=self.quat.encode()) self.assertEqual(dut.count, 0) self.assertEqual(len(dut.raw), 0) self.assertEqual(dut.message.w, 0) self.assertEqual(dut.message.x, 0) self.assertEqual(dut.message.y, 0) self.assertEqual(dut.message.z, 0) mock.HandleSubscriptions(0) self.assertEqual(dut.count, 1) self.assertEqual(dut.raw, self.quat.encode()) self.assertEqual(dut.message.w, self.quat.w) self.assertEqual(dut.message.x, self.quat.x) self.assertEqual(dut.message.y, self.quat.y) self.assertEqual(dut.message.z, self.quat.z)
def test_mock_lcm_get_last_published_message_deprecated(self): dut = DrakeMockLcm() dut.Publish(channel="TEST_CHANNEL", buffer=self.quat.encode()) with catch_drake_warnings(expected_count=1): raw = dut.get_last_published_message("TEST_CHANNEL") self.assertEqual(raw, self.quat.encode())
def test_mock_lcm_get_last_published_message(self): dut = DrakeMockLcm() dut.Publish(channel="TEST_CHANNEL", buffer=self.quat.encode()) raw = dut.get_last_published_message("TEST_CHANNEL") self.assertEqual(raw, self.quat.encode())