code: def test_wrap(self) -> None:
      prop = bcpe.Either(List(Int), Dict(String, Int))
      wrapped = prop.wrap([10, 20])
      assert isinstance(wrapped, PropertyValueList)
      assert prop.wrap(wrapped) is wrapped
  
      wrapped = prop.wrap({"foo": 10})
      assert isinstance(wrapped, PropertyValueDict)
      assert prop.wrap(wrapped) is wrapped
  
file_path: bokeh/tests/unit/bokeh/core/property/test_either.py
imports: from __future__ import annotations
  import pytest
  from bokeh.core.properties import Dict, Int, Interval, List, Regex, String
  from bokeh.core.property.wrappers import PropertyValueDict, PropertyValueList
  from tests.support.util.api import verify_all
  from _util_property import _TestHasProps, _TestModel
  import bokeh.core.property.either
label_desc: Use image node_id 6 for calling the Test_Either obj's underlying member method code with example usage: obj.test_wrap() without return types