code: def test_build_slot_sharing_group_with_specific_resource(self):
      name = "slot_sharing_group"
      heap_memory = MemorySize.of_mebi_bytes(100)
      off_heap_memory = MemorySize.of_mebi_bytes(200)
      managed_memory = MemorySize.of_mebi_bytes(300)
      slot_sharing_group = (
          SlotSharingGroup.builder(name)
          .set_cpu_cores(1.0)
          .set_task_heap_memory(heap_memory)
          .set_task_off_heap_memory(off_heap_memory)
          .set_managed_memory(managed_memory)
          .set_external_resource("gpu", 1.0)
          .build()
      )
      self.assertEqual(slot_sharing_group.get_name(), name)
      self.assertEqual(slot_sharing_group.get_cpu_cores(), 1.0)
      self.assertEqual(
          slot_sharing_group.get_task_heap_memory(), heap_memory
      )
      self.assertEqual(
          slot_sharing_group.get_task_off_heap_memory(), off_heap_memory
      )
      self.assertEqual(
          slot_sharing_group.get_managed_memory(), managed_memory
      )
      self.assertEqual(
          slot_sharing_group.get_external_resources(), {"gpu": 1.0}
      )
  
imports: from pyflink.datastream.slot_sharing_group import MemorySize, SlotSharingGroup
  from pyflink.testing.test_case_utils import PyFlinkTestCase
label_desc: Use image node_id 1 for calling the SlotSharingGroupTests obj's underlying member method code with example usage: obj.test_build_slot_sharing_group_with_specific_resource() without return types