'When given an array input it must be broadcastable with all the
parameters.'

def test_2d_array_parameters_2d_array_input(self):

    t = TModel_1_2([[1, 2], [3, 4]], [[10, 20], [30, 40]], [[1000, 2000], [3000, 4000]])
    (y1, z1) = t([[100, 200], [300, 400]])
    assert (np.shape(y1) == np.shape(z1) == (2, 2))
    assert np.all((y1 == [[111, 222], [333, 444]]))
    assert np.all((z1 == [[1111, 2222], [3333, 4444]]))
    (y2, z2) = t([[[[100]], [[200]]], [[[300]], [[400]]]])
    assert (np.shape(y2) == np.shape(z2) == (2, 2, 2, 2))
    assert np.all((y2 == [[[[111, 122], [133, 144]], [[211, 222], [233, 244]]], [[[311, 322], [333, 344]], [[411, 422], [433, 444]]]]))
    assert np.all((z2 == [[[[1111, 2122], [3133, 4144]], [[1211, 2222], [3233, 4244]]], [[[1311, 2322], [3333, 4344]], [[1411, 2422], [3433, 4444]]]]))
    with pytest.raises(ValueError):
        (y3, z3) = t([[100, 200, 300], [400, 500, 600]])
