code: def test_shift_bboxes(self):
      import torch
  
      bboxes = [[1, 2, 3, 4]]
      shift_x = 10
      shift_y = 20
      shifted_bboxes = shift_bboxes(
          bboxes=bboxes, offset=[shift_x, shift_y]
      )
      self.assertEqual(shifted_bboxes, [[11, 22, 13, 24]])
      self.assertEqual(type(shifted_bboxes), list)
  
      bboxes = np.array([[1, 2, 3, 4]])
      shifted_bboxes = shift_bboxes(
          bboxes=bboxes, offset=[shift_x, shift_y]
      )
      self.assertEqual(shifted_bboxes.tolist(), [[11, 22, 13, 24]])
      self.assertEqual(type(shifted_bboxes), np.ndarray)
  
      bboxes = torch.tensor([[1, 2, 3, 4]])
      shifted_bboxes = shift_bboxes(
          bboxes=bboxes, offset=[shift_x, shift_y]
      )
      self.assertEqual(shifted_bboxes.tolist(), [[11, 22, 13, 24]])
      self.assertEqual(type(shifted_bboxes), torch.Tensor)
  
file_path: sahi/tests/test_slicing.py
imports: import unittest
  import numpy
  from PIL import Image
  from sahi.slicing import shift_bboxes, shift_masks, slice_coco, slice_image
  from sahi.utils.coco import Coco
  from sahi.utils.cv import read_image
label_desc: Use image node_id 3 for calling the TestSlicing obj's underlying member method code with example usage: obj.test_shift_bboxes() without return types