commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] [gnuradio] 15/57: tests for block mode


From: git
Subject: [Commit-gnuradio] [gnuradio] 15/57: tests for block mode
Date: Wed, 21 May 2014 03:10:25 +0000 (UTC)

This is an automated email from the git hooks/post-receive script.

trondeau pushed a commit to branch master
in repository gnuradio.

commit 8e5eaa8dbe49973bc808dfe4cead2c91b96cb4c6
Author: Nicholas McCarthy <address@hidden>
Date:   Mon Mar 24 20:49:15 2014 -0400

    tests for block mode
---
 gr-blocks/python/blocks/qa_interleave.py | 68 ++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)

diff --git a/gr-blocks/python/blocks/qa_interleave.py 
b/gr-blocks/python/blocks/qa_interleave.py
index 9eaf87c..d2a04cc 100755
--- a/gr-blocks/python/blocks/qa_interleave.py
+++ b/gr-blocks/python/blocks/qa_interleave.py
@@ -49,6 +49,37 @@ class test_interleave (gr_unittest.TestCase):
         result_data = dst.data ()
         self.assertFloatTuplesAlmostEqual (expected_result, result_data)
 
+    def test_int_002 (self):
+        blksize = 4;
+        lenx = 64;
+        plusup_big = lambda a: a + (blksize * 4);
+        plusup_little = lambda a: a + blksize;
+        a_vec = range(0,blksize);
+        for i in range(0,(lenx/(4 * blksize)) - 1):
+            a_vec += map(plusup_big, a_vec[len(a_vec) - blksize:]);
+        
+        b_vec = map(plusup_little, a_vec);
+        c_vec = map(plusup_little, b_vec);
+        d_vec = map(plusup_little, c_vec);
+
+        src0 = blocks.vector_source_f (a_vec)
+        src1 = blocks.vector_source_f (b_vec)
+        src2 = blocks.vector_source_f (c_vec)
+        src3 = blocks.vector_source_f (d_vec)
+        op = blocks.interleave (gr.sizeof_float, blksize)
+        dst = blocks.vector_sink_f ()
+
+        self.tb.connect (src0, (op, 0))
+        self.tb.connect (src1, (op, 1))
+        self.tb.connect (src2, (op, 2))
+        self.tb.connect (src3, (op, 3))
+        self.tb.connect (op, dst)
+        self.tb.run ()
+        expected_result = tuple (range (lenx))
+        result_data = dst.data ()
+
+        self.assertFloatTuplesAlmostEqual (expected_result, result_data)
+
     def test_deint_001 (self):
         lenx = 64
         src = blocks.vector_source_f (range (lenx))
@@ -75,6 +106,43 @@ class test_interleave (gr_unittest.TestCase):
         self.assertFloatTuplesAlmostEqual (expected_result2, dst2.data ())
         self.assertFloatTuplesAlmostEqual (expected_result3, dst3.data ())
 
+    def test_deint_002 (self):
+        blksize = 4;
+        lenx = 64;
+        src = blocks.vector_source_f (range (lenx))
+        op = blocks.deinterleave (gr.sizeof_float, blksize)
+        dst0 = blocks.vector_sink_f ()
+        dst1 = blocks.vector_sink_f ()
+        dst2 = blocks.vector_sink_f ()
+        dst3 = blocks.vector_sink_f ()
+
+        self.tb.connect (src, op)
+        self.tb.connect ((op, 0), dst0)
+        self.tb.connect ((op, 1), dst1)
+        self.tb.connect ((op, 2), dst2)
+        self.tb.connect ((op, 3), dst3)
+        self.tb.run ()
+
+        plusup_big = lambda a: a + (blksize * 4);
+        plusup_little = lambda a: a + blksize;
+        a_vec = range(0,blksize);
+        for i in range(0,(lenx/(4 * blksize)) - 1):
+            a_vec += map(plusup_big, a_vec[len(a_vec) - blksize:]);
+        
+        b_vec = map(plusup_little, a_vec);
+        c_vec = map(plusup_little, b_vec);
+        d_vec = map(plusup_little, c_vec);
+
+        expected_result0 = tuple (a_vec)
+        expected_result1 = tuple (b_vec)
+        expected_result2 = tuple (c_vec)
+        expected_result3 = tuple (d_vec)
+
+        self.assertFloatTuplesAlmostEqual (expected_result0, dst0.data ())
+        self.assertFloatTuplesAlmostEqual (expected_result1, dst1.data ())
+        self.assertFloatTuplesAlmostEqual (expected_result2, dst2.data ())
+        self.assertFloatTuplesAlmostEqual (expected_result3, dst3.data ())
+
 if __name__ == '__main__':
     gr_unittest.run(test_interleave, "test_interleave.xml")
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]