def METHOD_NAME(
    self,
    dtype,
    output_size,
    input_layout,
    output_layout,
    input_shape,
    transformed_input_np,
    quantize_expected_output_np,
    hexagon_session,
):
    """Test adaptive_avg_pool1d."""
    target_hexagon = tvm.target.hexagon("v69")
    a_tensor = te.placeholder(input_shape, name="a_tensor", dtype=dtype)
    m_tensor = s1.adaptive_avg_pool1d(
        a_tensor,
        output_size,
        dtype,
        ZERO_POINT_VAL,
        SCALE_VAL,
        ZERO_POINT_M_VAL,
        SCALE_M_VAL,
    )
    tir_schedule = s1.tir_adaptive_avg_pool1d_schedule(
        m_tensor, a_tensor, output_layout, input_layout
    )
    sch = tir_schedule.mod
    with tvm.transform.PassContext(opt_level=3):
        func = tvm.build(
            sch,
            [a_tensor, m_tensor],
            tvm.target.Target(target_hexagon, host=target_hexagon),
            name="adaptive_pool1d",
        )
    input_axis_separator = [3]
    a_data_nd = allocate_hexagon_array(
        hexagon_session.device,
        data=transformed_input_np,
        dtype=dtype,
        axis_separators=input_axis_separator,
        mem_scope="global.vtcm",
    )
    m_data_nd = allocate_hexagon_array(
        hexagon_session.device,
        quantize_expected_output_np.shape,
        dtype=dtype,
    )
    mod = hexagon_session.load_module(func)
    mod(a_data_nd, m_data_nd)
    # Convert nd to np
    m_data_np = m_data_nd.numpy()
    np.testing.assert_allclose(quantize_expected_output_np, m_data_np, atol=2)