code: def test_gifti_image_bad_inputs():
      img = GiftiImage()
      # Try to set a non-data-array
      pytest.raises(
          TypeError, img.add_gifti_data_array, "not-a-data-array"
      )
  
      # Try to set to non-table
      def assign_labeltable(val):
          img.labeltable = val
  
      pytest.raises(TypeError, assign_labeltable, "not-a-table")
  
      # Try to set to non-table
      def assign_metadata(val):
          img.meta = val
  
      pytest.raises(TypeError, assign_metadata, "not-a-meta")
  
imports: import itertools
  import sys
  import warnings
  from io import BytesIO
  import numpy
  import pytest
  from numpy.testing import assert_array_almost_equal, assert_array_equal
  from nibabel.tmpdirs import InTemporaryDirectory
  from ...None import load
  from ...fileholders import FileHolder
  from ...nifti1 import data_type_codes
  from ...testing import get_test_data
  from ..None import GiftiCoordSystem, GiftiDataArray, GiftiImage, GiftiLabel, GiftiLabelTable, GiftiMetaData, GiftiNVPairs
  from .test_parse_gifti_fast import DATA_FILE1, DATA_FILE2, DATA_FILE3, DATA_FILE4, DATA_FILE5, DATA_FILE6
label_desc: Use image node_id 3 for calling a global function with example usage: test_gifti_image_bad_inputs() without return types