code: def test_allow_copy_false():
      if Version(pd.__version__) < Version("1.5.0"):
          pytest.skip("__dataframe__ added to pandas in 1.5.0")
  
      # Test that an error is raised when a copy is needed
      # to create a bitmask
  
      df = pd.DataFrame({"a": [0, 1.0, 2.0]})
      with pytest.raises(RuntimeError):
          pi.from_dataframe(df, allow_copy=False)
  
      df = pd.DataFrame(
          {"dt": [None, dt(2007, 7, 14), dt(2007, 7, 15)]}
      )
      with pytest.raises(RuntimeError):
          pi.from_dataframe(df, allow_copy=False)
  
imports: from datetime import datetime
  import numpy
  import pyarrow
  from pyarrow.vendored.version import Version
  import pytest
  import pyarrow.interchange
  from pyarrow.interchange.column import _PyArrowColumn, ColumnNullType, DtypeKind
  from pyarrow.interchange.from_dataframe import _from_dataframe
label_desc: Use image node_id 16 for calling a global function with example usage: test_allow_copy_false() without return types