code: def check_invalid_args(self):
      df = self.data
      plus_one = self.python_plus_one
      mean_udf = self.pandas_agg_mean_udf
      with self.assertRaisesRegex(
          AnalysisException, "[MISSING_AGGREGATION]"
      ):
          df.groupby(df.id).agg(plus_one(df.v)).collect()
      with self.assertRaisesRegex(
          AnalysisException,
          "aggregate function.*argument.*aggregate function",
      ):
          df.groupby(df.id).agg(mean_udf(mean_udf(df.v))).collect()
      with self.assertRaisesRegex(
          AnalysisException,
          "The group aggregate pandas UDF `avg` cannot be invoked together with as other, "
          "non-pandas aggregate functions.",
      ):
          df.groupby(df.id).agg(mean_udf(df.v), mean(df.v)).collect()
  
imports: import unittest
  from typing import cast
  from pyspark.rdd import PythonEvalType
  from pyspark.sql import Row
  from pyspark.sql.functions import array, explode, col, lit, mean, sum, udf, pandas_udf, PandasUDFType
  from pyspark.sql.types import ArrayType, YearMonthIntervalType
  from pyspark.errors import AnalysisException, PySparkNotImplementedError, PythonException
  from pyspark.testing.sqlutils import ReusedSQLTestCase, have_pandas, have_pyarrow, pandas_requirement_message, pyarrow_requirement_message
  from pyspark.testing.utils import QuietTest, assertDataFrameEqual
label_desc: Use image node_id 20 for calling the GroupedAggPandasUDFTestsMixin obj's underlying member method code with example usage: obj.check_invalid_args() without return types