code: def test_make_alternating_boolean_array(self):
      check_arrays(
          make_alternating_boolean_array((3, 3)),
          array(
              [
                  [True, False, True],
                  [False, True, False],
                  [True, False, True],
              ]
          ),
      )
      check_arrays(
          make_alternating_boolean_array((3, 3), first_value=False),
          array(
              [
                  [False, True, False],
                  [True, False, True],
                  [False, True, False],
              ]
          ),
      )
      check_arrays(
          make_alternating_boolean_array((1, 3)),
          array([[True, False, True]]),
      )
      check_arrays(
          make_alternating_boolean_array((3, 1)),
          array([[True], [False], [True]]),
      )
      check_arrays(
          make_alternating_boolean_array((3, 0)),
          empty((3, 0), dtype=bool_dtype),
      )
  
imports: from itertools import product
  from unittest import TestCase
  from numpy import array, empty
  from zipline._protocol import BarData
  from zipline.finance.asset_restrictions import NoRestrictions
  from zipline.finance.order import Order
  from zipline.testing import check_arrays, make_alternating_boolean_array, make_cascading_boolean_array, parameter_space
  from zipline.testing.fixtures import WithConstantEquityMinuteBarData, WithDataPortal, ZiplineTestCase
  from zipline.testing.slippage import TestingSlippage
  from zipline.testing.predicates import wildcard, instance_of
  from zipline.utils.numpy_utils import bool_dtype
label_desc: Use image node_id 1 for calling the TestMakeBooleanArray obj's underlying member method code with example usage: obj.test_make_alternating_boolean_array() without return types