code: def test_rowwhere_dim2(self, N, gc, dc, engine):
      C = np.random.rand(N).astype(bool)
      X = np.random.rand(N, N).astype(np.float32)
      Y = np.random.rand(N, N).astype(np.float32)
      op = core.CreateOperator(
          "Where",
          ["C", "X", "Y"],
          ["Z"],
          broadcast_on_rows=True,
          engine=engine,
      )
      self.assertDeviceChecks(dc, op, [C, X, Y], [0])
      self.assertReferenceChecks(gc, op, [C, X, Y], rowmux)
  
imports: from caffe2.python import core
  import caffe2.python.hypothesis_test_util
  import caffe2.python.serialized_test.serialized_test_util
  from hypothesis import given, settings
  import hypothesis.strategies
  import numpy
  import unittest
label_desc: Use image node_id 3 for calling the TestRowWhere obj's underlying member method code with example usage: obj.test_rowwhere_dim2(N, gc, dc, engine) without return types