code: def test_validate_bool_kwarg(self):
      # This should pass and run fine
      pandas_on_spark = True
      self.assert_eq(
          validate_bool_kwarg(pandas_on_spark, "pandas_on_spark"), True
      )
      pandas_on_spark = False
      self.assert_eq(
          validate_bool_kwarg(pandas_on_spark, "pandas_on_spark"), False
      )
      pandas_on_spark = None
      self.assert_eq(
          validate_bool_kwarg(pandas_on_spark, "pandas_on_spark"), None
      )
  
      # This should fail because we are explicitly setting a non-boolean value
      pandas_on_spark = "true"
      with self.assertRaisesRegex(
          TypeError,
          'For argument "pandas_on_spark" expected type bool, received type str.',
      ):
          validate_bool_kwarg(pandas_on_spark, "pandas_on_spark")
  
imports: import pandas
  from pyspark.pandas.indexes.base import Index
  from pyspark.pandas.utils import lazy_property, validate_arguments_and_invoke_function, validate_bool_kwarg, validate_index_loc, validate_mode
  from pyspark.testing.pandasutils import PandasOnSparkTestCase, _assert_pandas_equal, _assert_pandas_almost_equal
  from pyspark.testing.sqlutils import SQLTestUtils
  from pyspark.errors import PySparkAssertionError
label_desc: Use image node_id 5 for calling the UtilsTestsMixin obj's underlying member method code with example usage: obj.test_validate_bool_kwarg() without return types