code: def test_repeated_children() -> None:
      def test(layout: LayoutDOM) -> None:
          with mock.patch(
              "bokeh.core.validation.check.log"
          ) as mock_logger:
              issues = check_integrity([layout])
              process_validation_issues(issues)
          assert mock_logger.error.call_count == 1
          assert mock_logger.error.call_args[0][0].startswith(
              "E-1027 (REPEATED_LAYOUT_CHILD): The same model can't be used multiple times in a layout"
          )
  
      p0 = figure()
      p1 = figure()
  
      test(Row(children=[p0, p1, p0]))
      test(row(p0, p1, p0))
  
      test(Column(children=[p0, p1, p0]))
      test(column(p0, p1, p0))
  
      test(GridBox(children=[(p0, 0, 0), (p1, 1, 0), (p0, 2, 0)]))
      test(gridplot([[p0], [p1], [p0]], toolbar_location=None))
  
file_path: bokeh/tests/unit/bokeh/test_layouts.py
imports: from __future__ import annotations
  import pytest
  from unittest import mock
  from bokeh.core.validation import check_integrity, process_validation_issues
  from bokeh.layouts import column, grid, gridplot, group_tools, layout, row
  from bokeh.models import BoxAnnotation, BoxSelectTool, Column, GlyphRenderer, GridBox, GridPlot, HoverTool, LayoutDOM, PanTool, Row, SaveTool, Spacer, TapTool, ToolProxy
  from bokeh.plotting import figure
label_desc: Use image node_id 11 for calling a global function with example usage: test_repeated_children() without return types