예제 #1
0
 def testMergeOptionsDifferentType(self):
     options1, options2 = _TestOptions(), _NestedTestOptions()
     with self.assertRaisesRegex(
             TypeError, r"Could not merge incompatible options of type "
             r"\<class \'__main__._NestedTestOptions\'\> and "
             r"\<class \'__main__._TestOptions\'\>."):
         options.merge_options(options1, options2)
예제 #2
0
 def testMergeOptions(self):
     options1, options2 = _TestOptions(), _TestOptions()
     with self.assertRaises(ValueError):
         options.merge_options()
     merged_options = options.merge_options(options1, options2)
     self.assertEqual(merged_options.x, 42)
     self.assertEqual(merged_options.y, 3.14)
     options1.x = 0
     options2.y = 0.0
     merged_options = options.merge_options(options1, options2)
     self.assertEqual(merged_options.x, 0)
     self.assertEqual(merged_options.y, 0.0)
예제 #3
0
 def testMergeOptions(self):
   options1, options2 = _TestOptions(), _TestOptions()
   with self.assertRaises(ValueError):
     options.merge_options()
   merged_options = options.merge_options(options1, options2)
   self.assertEqual(merged_options.x, 42)
   self.assertEqual(merged_options.y, 3.14)
   options1.x = 0
   options2.y = 0.0
   merged_options = options.merge_options(options1, options2)
   self.assertEqual(merged_options.x, 0)
   self.assertEqual(merged_options.y, 0.0)
예제 #4
0
 def testMergeNestedOptions(self):
     options1, options2 = _NestedTestOptions(), _NestedTestOptions()
     merged_options = options.merge_options(options1, options2)
     self.assertEqual(merged_options.opts, None)
     options1.opts = _TestOptions()
     merged_options = options.merge_options(options1, options2)
     self.assertEqual(merged_options.opts, _TestOptions())
     options2.opts = _TestOptions()
     merged_options = options.merge_options(options1, options2)
     self.assertEqual(merged_options.opts, _TestOptions())
     options1.opts.x = 0
     options2.opts.y = 0.0
     merged_options = options.merge_options(options1, options2)
     self.assertEqual(merged_options.opts.x, 0)
     self.assertEqual(merged_options.opts.y, 0.0)
예제 #5
0
 def testMergeNestedOptions(self):
   options1, options2 = _NestedTestOptions(), _NestedTestOptions()
   merged_options = options.merge_options(options1, options2)
   self.assertEqual(merged_options.opts, None)
   options1.opts = _TestOptions()
   merged_options = options.merge_options(options1, options2)
   self.assertEqual(merged_options.opts, _TestOptions())
   options2.opts = _TestOptions()
   merged_options = options.merge_options(options1, options2)
   self.assertEqual(merged_options.opts, _TestOptions())
   options1.opts.x = 0
   options2.opts.y = 0.0
   merged_options = options.merge_options(options1, options2)
   self.assertEqual(merged_options.opts.x, 0)
   self.assertEqual(merged_options.opts.y, 0.0)
예제 #6
0
    def merge(self, options):
        """Merges itself with the given `tf.data.Options`.

    If this object and the `options` to merge set an option differently, a
    warning is generated and this object's value is updated with the `options`
    object's value.

    Args:
      options: The `tf.data.Options` to merge with.

    Returns:
      New `tf.data.Options` object which is the result of merging self with
      the input `tf.data.Options`.
    """
        return options_lib.merge_options(self, options)
예제 #7
0
 def testMergeOptionsInvalid(self):
     with self.assertRaises(TypeError):
         options.merge_options(0)
     options1, options2 = _TestOptions(), _NestedTestOptions()
     with self.assertRaises(TypeError):
         options.merge_options(options1, options2)
예제 #8
0
 def testMergeOptionsWrongType(self):
     with self.assertRaisesRegex(
             TypeError, "All options to be merged should inherit from "
             r"\`OptionsBase\` but found option of type \<class \'int\'\> which "
             "does not."):
         options.merge_options(1, 2, 3)
예제 #9
0
 def testMergeNoOptions(self):
     with self.assertRaisesRegex(ValueError,
                                 "At least one options should be provided"):
         options.merge_options()
예제 #10
0
 def testMergeOptionsInvalid(self):
   with self.assertRaises(TypeError):
     options.merge_options(0)
   options1, options2 = _TestOptions(), _NestedTestOptions()
   with self.assertRaises(TypeError):
     options.merge_options(options1, options2)