Updating all python QA programs in gnuradio-core to output XML files.
[debian/gnuradio] / gnuradio-core / src / python / gnuradio / gr / qa_copy.py
1 #!/usr/bin/env python
2 #
3 # Copyright 2009,2010 Free Software Foundation, Inc.
4
5 # This file is part of GNU Radio
6
7 # GNU Radio is free software; you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation; either version 3, or (at your option)
10 # any later version.
11
12 # GNU Radio is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU General Public License for more details.
16
17 # You should have received a copy of the GNU General Public License
18 # along with GNU Radio; see the file COPYING.  If not, write to
19 # the Free Software Foundation, Inc., 51 Franklin Street,
20 # Boston, MA 02110-1301, USA.
21
22
23 from gnuradio import gr, gr_unittest
24
25 class test_copy(gr_unittest.TestCase):
26
27     def setUp (self):
28         self.tb = gr.top_block ()
29
30     def tearDown (self):
31         self.tb = None
32
33     def test_copy (self):
34         src_data = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
35         expected_result = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
36         src = gr.vector_source_b(src_data)
37         op = gr.copy(gr.sizeof_char)
38         dst = gr.vector_sink_b()
39         self.tb.connect(src, op, dst)
40         self.tb.run()
41         dst_data = dst.data()
42         self.assertEqual(expected_result, dst_data)
43     
44     def test_copy_drop (self):
45         src_data = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
46         expected_result = ()
47         src = gr.vector_source_b(src_data)
48         op = gr.copy(gr.sizeof_char)
49         op.set_enabled(False)
50         dst = gr.vector_sink_b()
51         self.tb.connect(src, op, dst)
52         self.tb.run()
53         dst_data = dst.data()
54         self.assertEqual(expected_result, dst_data)
55     
56
57 if __name__ == '__main__':
58     gr_unittest.run(test_copy, "test_copy.xml")