#!/usr/bin/env python # # Copyright 2004,2007,2010,2013 Free Software Foundation, Inc. # # This file is part of GNU Radio # # SPDX-License-Identifier: GPL-3.0-or-later # # from gnuradio import gr, gr_unittest, vocoder, blocks class test_gsm_vocoder (gr_unittest.TestCase): def setUp(self): self.tb = gr.top_block() def tearDown(self): self.tb = None def test001_module_load(self): data = 20 * (100, 200, 300, 400, 500, 600, 700, 800) expected_data = [0, 0, 360, 304, 256, 720, 600, 504, 200, 144, 128, 464, 376, 384, 680, 576, 440, 264, 176, 176, 640, 520, 480, 464, 384, 288, 432, 296, 328, 760, 624, 504, 176, 96, 96, 416, 312, 360, 808, 672, 216, 104, 136, 504, 376, 448, 720, 608, 296, 304, 176, 336, 576, 456, 560, 512, 320, 216, 344, 264, 456, 672, 576, 488, 192, 80, 152, 424, 368, 552, 688, 560, 280, 200, 104, 256, 520, 464, 608, 488, 184, 104, 16, 472, 456, 360, 696, 568, 208, 136, 88, 376, 480, 456, 616, 472, 232, 224, 264, 320, 512, 624, 632, 520, 176, 80, 192, 304, 400, 592, 664, 552, 248, 152, 144, 336, 440, 520, 616, 664, 304, 176, 80, 536, 448, 376, 680, 600, 240, 168, 112, 408, 488, 472, 608, 480, 240, 232, 208, 288, 480, 600, 616, 520, 176, 88, 184, 296, 392, 584, 656, 552, 248, 160, 144, 336, 432, 512, 608, 664] src = blocks.vector_source_s(data) enc = vocoder.gsm_fr_encode_sp() dec = vocoder.gsm_fr_decode_ps() snk = blocks.vector_sink_s() self.tb.connect(src, enc, dec, snk) self.tb.run() actual_result = snk.data() self.assertEqual(expected_data, actual_result) if __name__ == '__main__': gr_unittest.run(test_gsm_vocoder)