code: def testEval(self):
      with ops.Graph().as_default():
          with session.Session():
              x = constant_op.constant(1)
              y = constant_op.constant(2)
              # x * y > 0 can be evaluated at graph construction time, so the false
              # branch shouldn't be evaluated at all.
              z = smart_cond.smart_cond(
                  x * y > 0,
                  lambda: constant_op.constant(1),
                  raise_exception,
              )
              self.assertEqual(z.eval(feed_dict={x: 1}), 1)
  
imports: from tensorflow.python.client import session
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import smart_cond
  from tensorflow.python.framework import test_util
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import cond
  from tensorflow.python.ops import math_ops
  from tensorflow.python.platform import googletest
label_desc: Use image node_id 4 for calling the SmartCondTest obj's underlying member method code with example usage: obj.testEval() without return types