message: TF utils_test additional test cases covers
  1- constant_value api test case
  2- get_reachable_from_inputs api test case
diff: @@ -18,7 +18,10 @@ from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  +from tensorflow.python.framework import constant_op
  +from tensorflow.python.framework import test_util
  from tensorflow.python.layers import utils
  +from tensorflow.python.ops import array_ops
  from tensorflow.python.platform import test
  @@ -87,6 +90,51 @@ class ConvUtilsTest(test.TestCase):
  self.assertEqual(3, utils.deconv_output_length(4, 2, 'full', 1))
  self.assertEqual(6, utils.deconv_output_length(4, 2, 'full', 2))
  +class ConstantValueTest(test.TestCase):
  +
  + @test_util.run_deprecated_v1
  + def testConstantValue(self):
  + f1 = lambda: constant_op.constant(5)
  + f2 = lambda: constant_op.constant(32)
  +
  + # Boolean pred
  + self.assertEqual(5, utils.constant_value(utils.smart_cond(True, f1, f2)))
  + self.assertEqual(32, utils.constant_value(utils.smart_cond(False, f1, f2)))
  +
  + # Integer pred
  + self.assertEqual(5, utils.constant_value(utils.smart_cond(1, f1, f2)))
  + self.assertEqual(32, utils.constant_value(utils.smart_cond(0, f1, f2)))
  +
  + # Unknown pred
  + pred = array_ops.placeholder_with_default(True, shape=())
  + self.assertIsNone(utils.constant_value(utils.smart_cond(pred, f1, f2)))
  +
  + #Error case
  + with self.assertRaises(TypeError):
  + utils.constant_value(5)
  +
  +
  +class GetReachableFromInputsTest(test.TestCase):
  +
  + @test_util.run_deprecated_v1
  + def testGetReachableFromInputs(self):
  +
  + pl_1 = array_ops.placeholder(shape=None, dtype='float32')
  + pl_2 = array_ops.placeholder(shape=None, dtype='float32')
  + pl_3 = array_ops.placeholder(shape=None, dtype='float32')
  + x_1 = pl_1 + pl_2
  + x_2 = pl_2 * 2
  + x_3 = pl_3 + 1
  + x_4 = x_1 + x_2
  + x_5 = x_3 * pl_1
  +
  + self.assertEqual({pl_1, x_1, x_4, x_5},
  + utils.get_reachable_from_inputs([pl_1]))
  + self.assertEqual({pl_1, pl_2, x_1, x_2, x_4, x_5},
  + utils.get_reachable_from_inputs([pl_1, pl_2]))
  + self.assertEqual({pl_3, x_3, x_5}, utils.get_reachable_from_inputs([pl_3]))
  + self.assertEqual({x_3, x_5}, utils.get_reachable_from_inputs([x_3]))
  +
  if __name__ == '__main__':
  test.main()
  