code: def test_strange_column_corruption_issue(self, using_copy_on_write):
      # TODO(wesm): Unclear how exactly this is related to internal matters
      df = DataFrame(index=[0, 1])
      df[0] = np.nan
      wasCol = {}
  
      with tm.assert_produces_warning(
          PerformanceWarning, raise_on_extra_warnings=False
      ):
          for i, dt in enumerate(df.index):
              for col in range(100, 200):
                  if col not in wasCol:
                      wasCol[col] = 1
                      df[col] = np.nan
                  if using_copy_on_write:
                      df.loc[dt, col] = i
                  else:
                      df[col][dt] = i
  
      myid = 100
  
      first = len(df.loc[pd.isna(df[myid]), [myid]])
      second = len(df.loc[pd.isna(df[myid]), [myid]])
      assert first == second == 0
  
imports: from datetime import datetime, timedelta
  import itertools
  import numpy
  import pytest
  from pandas.errors import PerformanceWarning
  import pandas
  from pandas import Categorical, DataFrame, Series, Timestamp, date_range, option_context
  import pandas._testing
  from pandas.core.internals.blocks import NumpyBlock
label_desc: Use image node_id 15 for calling the TestDataFrameBlockInternals obj's underlying member method code with example usage: obj.test_strange_column_corruption_issue(using_copy_on_write) without return types