test_signature.py 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import unittest
  2. from uavcan.dsdl import signature
  3. class TestSignature(unittest.TestCase):
  4. def test_add(self):
  5. s = signature.Signature()
  6. s.add('123456789')
  7. self.assertEqual(s.get_value(), 0x62EC59E3F1A4F00A)
  8. def test_add_multiple(self):
  9. s = signature.Signature()
  10. for c in '123456789':
  11. s.add(c)
  12. self.assertEqual(s.get_value(), 0x62EC59E3F1A4F00A)
  13. def test_add_bytes(self):
  14. s = signature.Signature()
  15. s.add(b'123456789')
  16. self.assertEqual(s.get_value(), 0x62EC59E3F1A4F00A)
  17. def test_add_bytearray(self):
  18. s = signature.Signature()
  19. s.add(bytearray('123456789', 'utf-8'))
  20. self.assertEqual(s.get_value(), 0x62EC59E3F1A4F00A)
  21. class TestComputeSignature(unittest.TestCase):
  22. def test_str(self):
  23. self.assertEqual(signature.compute_signature('123456789'),
  24. 0x62EC59E3F1A4F00A)
  25. def test_bytes(self):
  26. self.assertEqual(signature.compute_signature(b'123456789'),
  27. 0x62EC59E3F1A4F00A)
  28. def test_bytearray(self):
  29. self.assertEqual(
  30. signature.compute_signature(bytearray('123456789', 'utf-8')),
  31. 0x62EC59E3F1A4F00A)
  32. if __name__ == '__main__':
  33. unittest.main()