code: def test_insert_item_cache(self, using_copy_on_write):
      df = DataFrame(np.random.default_rng(2).standard_normal((4, 3)))
      ser = df[0]
      expected_warning = PerformanceWarning
  
      with tm.assert_produces_warning(expected_warning):
          for n in range(100):
              df[n + 3] = df[1] * n
  
      if using_copy_on_write:
          ser.iloc[0] = 99
          assert df.iloc[0, 0] == df[0][0]
          assert df.iloc[0, 0] != 99
      else:
          ser.values[0] = 99
          assert df.iloc[0, 0] == df[0][0]
          assert df.iloc[0, 0] == 99
  
file_path: pandas/pandas/tests/frame/indexing/test_insert.py
imports: import numpy
  import pytest
  from pandas.errors import PerformanceWarning
  from pandas import DataFrame, Index
  import pandas._testing
label_desc: Use image node_id 4 for calling the TestDataFrameInsert obj's underlying member method code with example usage: obj.test_insert_item_cache(using_copy_on_write) without return types