code: def test_dict_extension_array(df):
      """
      Test `complete` output when *columns
      is a dictionary, and value is
      a pandas array.
      """
      cols = ["names", "numbers"]
      df = df.assign(names=[*ascii_lowercase[: len(df)]])
      new_numbers = range(df.numbers.min(), df.numbers.max() + 1)
      new_index = pd.MultiIndex.from_product(
          [df.names, new_numbers], names=cols
      )
      new_numbers = {"numbers": pd.array(new_numbers)}
      result = df.complete("names", new_numbers, sort=True)
  
      expected = (
          df.set_index(cols)
          .reindex(new_index)
          .reset_index()
          .reindex(columns=df.columns)
      )
  
      assert_frame_equal(result, expected)
  
imports: from string import ascii_lowercase
  import numpy
  import pandas
  import pytest
  from hypothesis import given, settings
  from pandas.testing import assert_frame_equal
  from janitor.testing_utils.strategies import categoricaldf_strategy
label_desc: Use image node_id 22 for calling a global function with example usage: test_dict_extension_array(df) without return types