aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcus Müller <mmueller@gnuradio.org>2021-07-16 20:33:33 +0200
committermormj <34754695+mormj@users.noreply.github.com>2021-07-27 11:21:52 -0400
commit93bfee96c483058d5288533a5f55ef4947b9b09d (patch)
tree5a6d5cd35f884cf3f35caf775144ecc81b442088
parentdigital: remove non-existing msg output from chunks_to_symbols block yaml (diff)
downloadgnuradio-93bfee96c483058d5288533a5f55ef4947b9b09d.tar.xz
gnuradio-93bfee96c483058d5288533a5f55ef4947b9b09d.zip
digital: at least superficially test chunk_to_symbols dimensions>1
Signed-off-by: Marcus Müller <mmueller@gnuradio.org>
-rw-r--r--gr-digital/python/digital/qa_chunks_to_symbols.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/gr-digital/python/digital/qa_chunks_to_symbols.py b/gr-digital/python/digital/qa_chunks_to_symbols.py
index 1616f29e0..5b0ae8e04 100644
--- a/gr-digital/python/digital/qa_chunks_to_symbols.py
+++ b/gr-digital/python/digital/qa_chunks_to_symbols.py
@@ -56,6 +56,50 @@ class test_chunks_to_symbols(gr_unittest.TestCase):
actual_result = dst.data()
self.assertEqual(expected_result, actual_result)
+ def test_bf_2d(self):
+ maxval = 4
+ dimensions = 2
+ const = list(range(maxval * dimensions))
+ src_data = [v * 13 % maxval for v in range(maxval)]
+ expected_result = []
+ for data in src_data:
+ for i in range(dimensions):
+ expected_result += [const[data * dimensions + i]]
+
+ self.assertEqual(len(src_data) * dimensions, len(expected_result))
+ src = blocks.vector_source_b(src_data)
+ op = digital.chunks_to_symbols_bf(const, dimensions)
+
+ dst = blocks.vector_sink_f()
+ self.tb.connect(src, op)
+ self.tb.connect(op, dst)
+ self.tb.run()
+
+ actual_result = dst.data()
+ self.assertEqual(expected_result, actual_result)
+
+ def test_bf_3d(self):
+ maxval = 48
+ dimensions = 3
+ const = list(range(maxval * dimensions))
+ src_data = [v * 13 % maxval for v in range(maxval)]
+ expected_result = []
+ for data in src_data:
+ for i in range(dimensions):
+ expected_result += [const[data * dimensions + i]]
+
+ self.assertEqual(len(src_data) * dimensions, len(expected_result))
+ src = blocks.vector_source_b(src_data)
+ op = digital.chunks_to_symbols_bf(const, dimensions)
+
+ dst = blocks.vector_sink_f()
+ self.tb.connect(src, op)
+ self.tb.connect(op, dst)
+ self.tb.run()
+
+ actual_result = dst.data()
+ self.assertEqual(expected_result, actual_result)
+
def test_ic_003(self):
const = [1 + 0j, 0 + 1j,
-1 + 0j, 0 - 1j]