code: def test_store_mixed(compression, setup_path):
      def _make_one():
          df = DataFrame(
              1.1 * np.arange(120).reshape((30, 4)),
              columns=Index(list("ABCD"), dtype=object),
              index=Index([f"i-{i}" for i in range(30)], dtype=object),
          )
          df["obj1"] = "foo"
          df["obj2"] = "bar"
          df["bool1"] = df["A"] > 0
          df["bool2"] = df["B"] > 0
          df["int1"] = 1
          df["int2"] = 2
          return df._consolidate()
  
      df1 = _make_one()
      df2 = _make_one()
  
      _check_roundtrip(df1, tm.assert_frame_equal, path=setup_path)
      _check_roundtrip(df2, tm.assert_frame_equal, path=setup_path)
  
      with ensure_clean_store(setup_path) as store:
          store["obj"] = df1
          tm.assert_frame_equal(store["obj"], df1)
          store["obj"] = df2
          tm.assert_frame_equal(store["obj"], df2)
  
      # check that can store Series of all of these types
      _check_roundtrip(
          df1["obj1"],
          tm.assert_series_equal,
          path=setup_path,
          compression=compression,
      )
      _check_roundtrip(
          df1["bool1"],
          tm.assert_series_equal,
          path=setup_path,
          compression=compression,
      )
      _check_roundtrip(
          df1["int1"],
          tm.assert_series_equal,
          path=setup_path,
          compression=compression,
      )
  
imports: import datetime
  import re
  import numpy
  import pytest
  from pandas._libs.tslibs import Timestamp
  from pandas.compat import is_platform_windows
  import pandas
  from pandas import DataFrame, DatetimeIndex, Index, Series, _testing, bdate_range, date_range, read_hdf
  from pandas.tests.io.pytables.common import _maybe_remove, ensure_clean_store
  from pandas.util import _test_decorators
label_desc: Use image node_id 20 for calling a global function with example usage: test_store_mixed(compression, setup_path) and returns: df