laforge has submitted this change. (
https://gerrit.osmocom.org/c/pysim/+/35456?usp=email
)
(
1 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted one.
)Change subject: tests_files.py: Reduce code duplication
......................................................................
tests_files.py: Reduce code duplication
Change-Id: Ib84a0ae35262a19fce3e688afe8e1678a4c59eba
---
M tests/test_files.py
1 file changed, 26 insertions(+), 24 deletions(-)
Approvals:
fixeria: Looks good to me, approved
Jenkins Builder: Verified
diff --git a/tests/test_files.py b/tests/test_files.py
index 24a80a1..2eaaad1 100755
--- a/tests/test_files.py
+++ b/tests/test_files.py
@@ -39,6 +39,20 @@
classes = all_subclasses(LinFixedEF)
maxDiff = None
+ @staticmethod
+ def _parse_t(t):
+ """Parse a test description which can either be a 2-tuple of (enc,
dec) or
+ a 3-tuple of (enc, rec_nr, dec)."""
+ if len(t) == 2:
+ encoded = t[0]
+ rec_num = 1
+ decoded = t[1]
+ else:
+ encoded = t[0]
+ rec_num = t[1]
+ decoded = t[2]
+ return encoded, rec_num, decoded
+
def test_decode_record(self):
"""Test the decoder for a linear-fixed EF. Requires the given
LinFixedEF subclass
to have an '_test_decode' attribute, containing a list of tuples. Each
tuple can
@@ -52,14 +66,7 @@
for t in c._test_decode:
with self.subTest(name, test_decode=t):
inst = c()
- if len(t) == 2:
- encoded = t[0]
- rec_num = 1
- decoded = t[1]
- else:
- encoded = t[0]
- rec_num = t[1]
- decoded = t[2]
+ encoded, rec_num, decoded = self._parse_t(t)
logging.debug("Testing decode of %s", name)
re_dec = inst.decode_record_hex(encoded, rec_num)
self.assertEqual(decoded, re_dec)
@@ -77,14 +84,7 @@
for t in c._test_encode:
with self.subTest(name, test_encode=t):
inst = c()
- if len(t) == 2:
- encoded = t[0]
- rec_num = 1
- decoded = t[1]
- else:
- encoded = t[0]
- rec_num = t[1]
- decoded = t[2]
+ encoded, rec_num, decoded = self._parse_t(t)
logging.debug("Testing encode of %s", name)
re_enc = inst.encode_record_hex(decoded, rec_num)
self.assertEqual(encoded.upper(), re_enc.upper())
@@ -106,14 +106,7 @@
for t in c._test_de_encode:
with self.subTest(name, test_de_encode=t):
inst = c()
- if len(t) == 2:
- encoded = t[0]
- rec_num = 1
- decoded = t[1]
- else:
- encoded = t[0]
- rec_num = t[1]
- decoded = t[2]
+ encoded, rec_num, decoded = self._parse_t(t)
logging.debug("Testing decode of %s", name)
re_dec = inst.decode_record_hex(encoded, rec_num)
self.assertEqual(decoded, re_dec)
--
To view, visit
https://gerrit.osmocom.org/c/pysim/+/35456?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: Ib84a0ae35262a19fce3e688afe8e1678a4c59eba
Gerrit-Change-Number: 35456
Gerrit-PatchSet: 2
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-MessageType: merged