Exemplo n.º 1
0
    def test_select_same(self):
        src_data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
        expected_result = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
        expected_drop = ()

        num_inputs = 4
        num_outputs = 4
        input_index = 1
        output_index = 2

        op = streamops.selector(num_inputs, num_outputs, input_index,
                                output_index)

        src = []
        dst = []
        for ii in range(num_inputs):
            src.append(blocks.vector_source_b(src_data))
            self.tb.connect((src[ii], 0), (op, ii))
        for jj in range(num_outputs):
            dst.append(blocks.vector_sink_b())
            self.tb.connect((op, jj), (dst[jj], 0))

        self.tb.run()

        dst_data = dst[output_index].data()

        self.assertEqual(expected_result, dst_data)
Exemplo n.º 2
0
    def test_dump(self):

        num_inputs = 4
        num_outputs = 4
        input_index = 1
        output_index = 2
        output_not_selected = 3

        op = streamops.selector(num_inputs, num_outputs, input_index,
                                output_index)

        src = []
        dst = []
        for ii in range(num_inputs):
            src_data = [ii + 1] * 10
            src.append(blocks.vector_source_b(src_data))
            self.tb.connect((src[ii], 0), (op, ii))
        for jj in range(num_outputs):
            dst.append(blocks.vector_sink_b())
            self.tb.connect((op, jj), (dst[jj], 0))

        self.tb.run()

        expected_result = []
        dst_data = list(dst[output_not_selected].data())

        self.assertEqual(expected_result, dst_data)
Exemplo n.º 3
0
    def test_float_vector(self):

        num_inputs = 4
        num_outputs = 4
        input_index = 1
        output_index = 2

        veclen = 3

        op = streamops.selector(num_inputs, num_outputs, input_index,
                                output_index)

        src = []
        dst = []
        for ii in range(num_inputs):
            src_data = [float(ii) + 1] * 10 * veclen
            src.append(
                blocks.vector_source_f(src_data, repeat=False, vlen=veclen))
            self.tb.connect((src[ii], 0), (op, ii))
        for jj in range(num_outputs):
            dst.append(blocks.vector_sink_f(vlen=veclen))
            self.tb.connect((op, jj), (dst[jj], 0))

        self.tb.run()

        expected_result = [float(input_index) + 1] * 10 * veclen
        dst_data = list(dst[output_index].data())

        self.assertEqual(expected_result, dst_data)