From 8fe3932189d483efc72e0d34a9417ffbb34f5809 Mon Sep 17 00:00:00 2001 From: Paolo Teti Date: Sat, 30 May 2020 18:23:04 +0200 Subject: [PATCH] Add unit test for SYNC producer Test one-shot SYNC transmission with and without counter value. --- test/test_sync.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 test/test_sync.py diff --git a/test/test_sync.py b/test/test_sync.py new file mode 100644 index 00000000..0321ceb6 --- /dev/null +++ b/test/test_sync.py @@ -0,0 +1,29 @@ +import unittest +import canopen + + +class TestSync(unittest.TestCase): + + def test_sync_producer(self): + network = canopen.Network() + network.connect(bustype="virtual", receive_own_messages=True) + producer = canopen.sync.SyncProducer(network) + producer.transmit() + msg = network.bus.recv(1) + network.disconnect() + self.assertEqual(msg.arbitration_id, 0x80) + self.assertEqual(msg.dlc, 0) + + def test_sync_producer_counter(self): + network = canopen.Network() + network.connect(bustype="virtual", receive_own_messages=True) + producer = canopen.sync.SyncProducer(network) + producer.transmit(2) + msg = network.bus.recv(1) + network.disconnect() + self.assertEqual(msg.arbitration_id, 0x80) + self.assertEqual(msg.dlc, 1) + self.assertEqual(msg.data, b"\x02") + +if __name__ == "__main__": + unittest.main()