code: def test_assign(self, get_operation_processor):
      processor = MagicMock()
      get_operation_processor.return_value = processor
  
      value_and_expected = [
          (13, 13),
          (15.3, 15.3),
          (FloatVal(17), 17),
          (FloatVal(17.5), 17.5),
      ]
  
      for value, expected in value_and_expected:
          path, wait = (
              self._random_path(),
              self._random_wait(),
          )
          with self._exp() as run:
              var = Float(run, path)
              var.assign(value, wait=wait)
              processor.enqueue_operation.assert_called_with(
                  AssignFloat(path, expected), wait=wait
              )
  
file_path: neptune-client/tests/unit/neptune/new/attributes/atoms/test_float.py
imports: import pytest
  from mock import MagicMock, patch
  from neptune import init_run
  from neptune.attributes.atoms.float import Float, FloatVal
  from neptune.common.warnings import NeptuneUnsupportedValue
  from neptune.exceptions import MetadataInconsistency
  from neptune.internal.operation import AssignFloat
  from tests.unit.neptune.new.attributes.test_attribute_base import TestAttributeBase
label_desc: Use image node_id 1 for calling the TestFloat obj's underlying member method code with example usage: obj.test_assign(get_operation_processor) without return types