code: def test_concat_decimal_numeric_dataframe(df1, df2, df3, expected):
      df = gd.concat([df1, df2, df3])
      assert_eq(df, expected, check_index_type=True)
      assert_eq(df.val.dtype, expected.val.dtype)
  
imports: from decimal import Decimal
  import numpy
  import pandas
  import pytest
  import cudf
  from cudf.api.types import is_categorical_dtype
  from cudf.core._compat import PANDAS_GE_150, PANDAS_LT_140
  from cudf.core.dtypes import Decimal32Dtype, Decimal64Dtype, Decimal128Dtype
  from cudf.testing._utils import assert_eq, assert_exceptions_equal
label_desc: Use image node_id 40 for calling a global function with example usage: test_concat_decimal_numeric_dataframe(df1, df2, df3, expected) without return types