code: def test_gather_bool(self, device, dtype):
      src = torch.tensor(
          ((False, True), (True, True)), device=device, dtype=dtype
      )
      idx = torch.tensor(
          ((0, 0), (1, 0)), device=device, dtype=torch.long
      )
      actual = torch.gather(src, 1, idx)
      expected = torch.tensor(
          ((False, False), (True, True)), device=device, dtype=dtype
      )
      self.assertEqual(actual, expected, atol=0, rtol=0)
  
imports: import random
  import torch
  from torch.testing import make_tensor
  from torch.testing._internal.common_utils import parametrize, run_tests, TestCase, DeterministicGuard
  from torch.testing._internal.common_device_type import instantiate_device_type_tests, onlyCPU, dtypes, dtypesIfCUDA, toleranceOverride, tol
  from torch.testing._internal.common_dtype import get_all_dtypes
label_desc: Use image node_id 3 for calling the TestScatterGather obj's underlying member method code with example usage: obj.test_gather_bool(device, dtype) without return types