code: def df_strategy():
      """
      A convenience function for generating a dataframe as a hypothesis strategy.
  
      Should be treated like a fixture, but should not be passed as a fixture
      into a test function. Instead::
  
          @given(df=dataframe())
          def test_function(df):
              # test goes here
  
      .. # noqa: DAR201
      """
      return data_frames(
          columns=[
              column("a", elements=st.integers()),
              column("Bell__Chart", elements=st.floats()),
              column("decorated-elephant", elements=st.integers()),
              column("animals@#$%^", elements=st.text()),
              column("cities", st.text()),
          ],
          index=range_indexes(min_size=1, max_size=20),
      )
  
file_path: pyjanitor/janitor/testing_utils/strategies.py
imports: import numpy
  from hypothesis import strategies
  from hypothesis.extra.pandas import column, data_frames, range_indexes, series
label_desc: Use image node_id 2 for calling a global function with example usage: df_strategy() and returns: data_frames