code: def test_is_nested_dataframe(n_instances, n_columns, n_timepoints):
      """Test is_nested_dataframe for correctness."""
      array = np.random.normal(
          size=(n_instances, n_columns, n_timepoints)
      )
      nested, _ = make_classification_problem(
          n_instances, n_columns, n_timepoints
      )
      zero_df = pd.DataFrame(np.zeros_like(nested))
      nested_heterogenous = pd.concat([zero_df, nested], axis=1)
  
      mi_df = make_multi_index_dataframe(
          n_instances=n_instances,
          n_timepoints=n_timepoints,
          n_columns=n_columns,
      )
  
      assert not is_nested_dataframe(array)
      assert not is_nested_dataframe(mi_df)
      assert is_nested_dataframe(nested)
      assert is_nested_dataframe(nested_heterogenous)
  
imports: import numpy
  import pandas
  import pytest
  from sktime.datasets import generate_example_long_table, make_multi_index_dataframe
  from sktime.datatypes._adapter import convert_from_multiindex_to_listdataset
  from sktime.datatypes._panel._check import are_columns_nested, is_nested_dataframe
  from sktime.datatypes._panel._convert import from_2d_array_to_nested, from_3d_numpy_to_2d_array, from_3d_numpy_to_multi_index, from_3d_numpy_to_nested, from_long_to_nested, from_multi_index_to_3d_numpy, from_multi_index_to_nested, from_nested_to_2d_array, from_nested_to_3d_numpy, from_nested_to_long, from_nested_to_multi_index
  from sktime.utils._testing.panel import make_classification_problem
  from sktime.utils.validation._dependencies import _check_soft_dependencies
label_desc: Use image node_id 10 for calling a global function with example usage: test_is_nested_dataframe(n_instances, n_columns, n_timepoints) without return types