code: def setUp(self):
      self._EXPERIMENT._get_channels.return_value = self._CHANNELS
  
      def create_channel_fun(
          channel_name,
          channel_type,
          channel_namespace=ChannelNamespace.USER,
      ):
          if channel_name == self._NUMERIC_CHANNEL.name:
              return self._NUMERIC_CHANNEL
          if channel_name == self._TEXT_CHANNEL.name:
              return self._TEXT_CHANNEL
          if channel_name == self._IMAGE_CHANNEL.name:
              return self._IMAGE_CHANNEL
          if channel_name == self._OTHER_CHANNEL.name:
              return self._OTHER_CHANNEL
          raise ValueError("unexpected channel")
  
      self._EXPERIMENT._create_channel = mock.MagicMock(
          side_effect=create_channel_fun
      )
  
file_path: neptune-client/tests/unit/neptune/legacy/internal/channels/test_channels_values_sender.py
imports: from __future__ import unicode_literals
  import threading
  import time
  import unittest
  import mock
  from neptune.legacy.internal.channels.channels import ChannelIdWithValues, ChannelNamespace, ChannelType, ChannelValue
  from neptune.legacy.internal.channels.channels_values_sender import ChannelsValuesSender, ChannelsValuesSendingThread
  from tests.unit.neptune.legacy.experiments_object_factory import a_channel
label_desc: Use image node_id 1 for calling the TestChannelsValuesSender obj's underlying member method code with example usage: obj.setUp() and returns: self, self, self, self