code: def test_tab_completion(multiindex_dataframe_random_data):
      grp = multiindex_dataframe_random_data.groupby(level="second")
      results = {v for v in dir(grp) if not v.startswith("_")}
      expected = {
          "A",
          "B",
          "C",
          "agg",
          "aggregate",
          "apply",
          "boxplot",
          "filter",
          "first",
          "get_group",
          "groups",
          "hist",
          "indices",
          "last",
          "max",
          "mean",
          "median",
          "min",
          "ngroups",
          "nth",
          "ohlc",
          "plot",
          "prod",
          "size",
          "std",
          "sum",
          "transform",
          "var",
          "sem",
          "count",
          "nunique",
          "head",
          "describe",
          "cummax",
          "quantile",
          "rank",
          "cumprod",
          "tail",
          "resample",
          "cummin",
          "fillna",
          "cumsum",
          "cumcount",
          "ngroup",
          "all",
          "shift",
          "skew",
          "take",
          "pct_change",
          "any",
          "corr",
          "corrwith",
          "cov",
          "dtypes",
          "ndim",
          "diff",
          "idxmax",
          "idxmin",
          "ffill",
          "bfill",
          "rolling",
          "expanding",
          "pipe",
          "sample",
          "ewm",
          "value_counts",
      }
      assert results == expected
  
file_path: pandas/pandas/tests/groupby/test_api.py
imports: import inspect
  import pytest
  from pandas import DataFrame, Series
  from pandas.core.groupby.base import groupby_other_methods, reduction_kernels, transformation_kernels
  from pandas.core.groupby.generic import DataFrameGroupBy, SeriesGroupBy
label_desc: Use image node_id 1 for calling a global function with example usage: test_tab_completion(multiindex_dataframe_random_data) without return types