code: def test_where():
      cond = tensor([[True, False], [False, True]], chunk_size=1)
      x = tensor([1, 2], chunk_size=1)
      y = tensor([3, 4], chunk_size=1)
  
      arr = where(cond, x, y)
      arr = tile(arr)
  
      assert len(arr.chunks) == 4
      np.testing.assert_equal(arr.chunks[0].inputs[0].op.data, [[True]])
      np.testing.assert_equal(arr.chunks[0].inputs[1].op.data, [1])
      np.testing.assert_equal(arr.chunks[0].inputs[2].op.data, [3])
      np.testing.assert_equal(
          arr.chunks[1].inputs[0].op.data, [[False]]
      )
      np.testing.assert_equal(arr.chunks[1].inputs[1].op.data, [2])
      np.testing.assert_equal(arr.chunks[1].inputs[2].op.data, [4])
      np.testing.assert_equal(
          arr.chunks[2].inputs[0].op.data, [[False]]
      )
      np.testing.assert_equal(arr.chunks[2].inputs[1].op.data, [1])
      np.testing.assert_equal(arr.chunks[2].inputs[2].op.data, [3])
      np.testing.assert_equal(arr.chunks[3].inputs[0].op.data, [[True]])
      np.testing.assert_equal(arr.chunks[3].inputs[1].op.data, [2])
      np.testing.assert_equal(arr.chunks[3].inputs[2].op.data, [4])
  
      with pytest.raises(ValueError):
          where(cond, x)
  
      x = arange(9.0).reshape(3, 3)
      y = where(x < 5, x, -1)
  
      assert y.dtype == np.float64
  
imports: import numpy
  import pytest
  from ....core import tile
  from ....core.operand import OperandStage
  from ...datasource import ones, tensor, arange
  from ..None import transpose, broadcast_to, where, argwhere, array_split, split, squeeze, result_type, repeat, copyto, isin, moveaxis, TensorCopyTo, atleast_1d, atleast_2d, atleast_3d, ravel, searchsorted, unique, sort, partition, topk, to_gpu, to_cpu
label_desc: Use image node_id 7 for calling a global function with example usage: test_where() without return types