code: def test_cgroup_resource_info(self):
      # given
      system_resource_info_factory = SystemResourceInfoFactory(
          system_monitor=SystemMonitor(),
          gpu_monitor=GPUMonitor(),
          os_environ=os.environ,
      )
  
      # when
      resource_info = system_resource_info_factory.create(
          GaugeMode.CGROUP
      )
  
      # then
      self.assert_float_greater_than(resource_info.cpu_core_count, 0)
      self.assert_int_greater_than(resource_info.memory_amount_bytes, 0)
      self.assert_int_greater_or_equal(resource_info.gpu_card_count, 0)
      self.assert_int_greater_or_equal(
          resource_info.gpu_memory_amount_bytes, 0
      )
  
imports: import os
  import unittest
  from mock import MagicMock
  from neptune.common.hardware.gauges.gauge_mode import GaugeMode
  from neptune.common.hardware.gpu.gpu_monitor import GPUMonitor
  from neptune.common.hardware.resources.system_resource_info_factory import SystemResourceInfoFactory
  from neptune.common.hardware.system.system_monitor import SystemMonitor
  from tests.unit.neptune.legacy.assertions import AssertionExtensions
label_desc: Use image node_id 2 for calling the TestSystemResourceInfoFactoryIntegration obj's underlying member method code with example usage: obj.test_cgroup_resource_info() without return types