python驱动程序开发_Python测试驱动编写-阿里云开发者社区

通过gr_modtool会自动生成测试驱动程序的模板,只需要修改模板即可,模板如下:

from gnuradio import gr, gr_unittest

from gnuradio import blocks

import double_diff_swig as double_diff

class qa_translate (gr_unittest.TestCase):

def setUp (self):

self.tb = gr.top_block ()

def tearDown (self):

self.tb = None

def test_001_t (self):

# set up fg

self.tb.run ()

# check data

if __name__ == '__main__':

gr_unittest.run(qa_translate, "qa_translate.xml")这里module的名称为double_diff,block的名称为translate。

我们需要做的就是补充test_001_t()函数:构建流图、给出测试数据以及预期结果、运行流图、将实际结果与预期结果I进行比较。修改好的程序如下:

from gnuradio import gr, gr_unittest

from gnuradio import blocks

import double_diff

class qa_translate (gr_unittest.TestCase):

def setUp (self):

self.tb = gr.top_block ()

def tearDown (self):

self.tb = None

def test_001_t (self):

src_data=[1,-1,-1,1,1,-1]

expected_ampl=(1,1,1,1,1,1)

expected_phase=(0,1,1,0,0,1)

src=blocks.vector_source_c(src_data)

op=double_diff.translate()

dst0=blocks.vector_sink_f()

dst1=blocks.vector_sink_f()

self.tb.connect(src,op)

self.tb.connect((op,0),dst0)

self.tb.connect((op,1),dst1)

# set up fg

self.tb.run ()

# check data

result_ampl=dst0.data()

result_phase=dst1.data()

self.assertEqual(expected_ampl,result_ampl)

self.assertEqual(expected_phase,result_phase)

if __name__ == '__main__':

gr_unittest.run(qa_translate, "qa_translate.xml")运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值