aboutsummaryrefslogtreecommitdiff
path: root/tests/unit/test_yaesu_clone.py
diff options
context:
space:
mode:
authorMatthew Poletiek <matthew.poletiek@gmail.com>2020-12-08 21:03:16 -0600
committerMatthew Poletiek <matthew.poletiek@gmail.com>2020-12-08 21:03:16 -0600
commite99416456afd4aa8bde42016826f9a345291cbf3 (patch)
treea7a95639cd1cb5dbe2d91a2ca8e8defafac4296d /tests/unit/test_yaesu_clone.py
parent194cf4e5e0b6a2811103a9b739a72b9afe2b886c (diff)
downloadchirp-e99416456afd4aa8bde42016826f9a345291cbf3.tar.gz
chirp-e99416456afd4aa8bde42016826f9a345291cbf3.tar.xz
Initial Commit
Diffstat (limited to 'tests/unit/test_yaesu_clone.py')
-rw-r--r--tests/unit/test_yaesu_clone.py41
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/unit/test_yaesu_clone.py b/tests/unit/test_yaesu_clone.py
new file mode 100644
index 0000000..869c3b5
--- /dev/null
+++ b/tests/unit/test_yaesu_clone.py
@@ -0,0 +1,41 @@
+from builtins import bytes
+import unittest
+
+from chirp.drivers import yaesu_clone
+from chirp import memmap
+
+
+class TestYaesuChecksum(unittest.TestCase):
+ def _test_checksum(self, mmap):
+ cs = yaesu_clone.YaesuChecksum(0, 2, 3)
+
+ self.assertEqual(42, cs.get_existing(mmap))
+ self.assertEqual(0x8A, cs.get_calculated(mmap))
+ try:
+ mmap = mmap.get_byte_compatible()
+ mmap[0] = 3
+ except AttributeError:
+ # str or bytes
+ try:
+ # str
+ mmap = memmap.MemoryMap('\x03' + mmap[1:])
+ except TypeError:
+ # bytes
+ mmap = memmap.MemoryMapBytes(b'\x03' + mmap[1:])
+
+ cs.update(mmap)
+ self.assertEqual(95, cs.get_calculated(mmap))
+
+ def test_with_MemoryMap(self):
+ mmap = memmap.MemoryMap('...\x2A')
+ self._test_checksum(mmap)
+
+ def test_with_MemoryMapBytes(self):
+ mmap = memmap.MemoryMapBytes(bytes(b'...\x2A'))
+ self._test_checksum(mmap)
+
+ def test_with_bytes(self):
+ self._test_checksum(b'...\x2A')
+
+ def test_with_str(self):
+ self._test_checksum('...\x2A')