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)
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)
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)