def METHOD_NAME(self, nVectors, N, M):
    inputs = zeros([nVectors, N, M])
    expected = zeros([N,  M*nVectors])
    for i in range(nVectors):
        for n in range(N):
            for m in range(M):
                inputs[i][n][m] = float(m + n*M + i*N*M)
    for n in range(N):
        for i in range(nVectors):
            for m in range(M):
                expected[n][m+i*M] = inputs[i][n][m]
    gens = [VectorInput(array(input)) for input in inputs]
    mux = Multiplexer(numberVectorRealInputs=nVectors)
    ports = []
    for i in range(nVectors):
        ports.append(getattr(mux, "vector_" + str(i)))
        gens[i].data >> ports[i]
    pool = Pool()
    mux.data >> (pool, "vector")
    for gen in gens: run(gen)
    if not N or not nVectors:
        self.assertEqual(pool.descriptorNames(), [])
        return
    if not M : expected = [[],[],[],[],[]]
    self.assertEqualMatrix(pool['vector'], expected)