code: def test_PropertyValueColumnData__stream_array_to_list(
      mock_notify: MagicMock,
  ) -> None:
      from bokeh.document.events import ColumnsStreamedEvent
  
      source = ColumnDataSource(data=dict(foo=[10]))
      pvcd = bcpw.PropertyValueColumnData(source.data)
  
      mock_notify.reset_mock()
      pvcd._stream("doc", source, dict(foo=[20]), setter="setter")
      assert mock_notify.call_count == 1
      assert len(mock_notify.call_args[0]) == 1
      assert "foo" in mock_notify.call_args[0][0]
      assert mock_notify.call_args[0] == (
          {"foo": [10, 20]},
      )  # streaming to list, "old" is actually updated value
      assert "hint" in mock_notify.call_args[1]
      event = mock_notify.call_args[1]["hint"]
      assert isinstance(event, ColumnsStreamedEvent)
      assert event.setter == "setter"
      assert event.rollover is None
      assert event.data == {"foo": [20]}
  
imports: from __future__ import annotations
  import pytest
  from unittest.mock import MagicMock, patch
  from bokeh.core.properties import Angle, Any, Bool, Color, ColumnData, Complex, DashPattern, Dict, Either, Enum, Float, Instance, Int, Interval, List, MinMaxBounds, Percent, Regex, Seq, Size, String, Tuple
  from bokeh.models import ColumnDataSource
  from tests.support.util.api import verify_all
  from _util_property import _TestModel
  import bokeh.core.property.wrappers
label_desc: Use image node_id 12 for calling a global function with example usage: test_PropertyValueColumnData__stream_array_to_list(mock_notify) without return types