本文整理汇总了Python中aql.options.Options.merge方法的典型用法代码示例。如果您正苦于以下问题:Python Options.merge方法的具体用法?Python Options.merge怎么用?Python Options.merge使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类aql.options.Options
的用法示例。
在下文中一共展示了Options.merge方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_options_update
# 需要导入模块: from aql.options import Options [as 别名]
# 或者: from aql.options.Options import merge [as 别名]
def test_options_update(self):
options = Options()
options.opt = RangeOptionType(min_value=1, max_value=100)
options.warn_level = RangeOptionType(min_value=0, max_value=5)
args = {'opt': 5, 'warn_level': 3, 'debug_on': True}
options.update(args)
self.assertEqual(options.opt, args['opt'])
self.assertEqual(options.warn_level, args['warn_level'])
self.assertIn('debug_on', options)
options.update({})
options.update(options)
self.assertRaises(ErrorOptionsMergeNonOptions, options.merge, args)
options2 = Options()
options2.debug_on = BoolOptionType()
options2.debug_on = False
options2.bv = ListOptionType(value_type=str)
options2.bv += 'debug,release,final'
options2.build_variant = options2.bv
self.assertTrue(options.debug_on.option_value.option_type.is_auto)
options.merge(options2)
self.assertEqual(options.debug_on.get(), options2.debug_on.get())
self.assertEqual(options.bv, options2.bv)
self.assertEqual(options.bv, options2.build_variant)
self.assertEqual(options2.bv, options2.build_variant)
self.assertIs(
options.bv.option_value, options.build_variant.option_value)
options.merge(options2)
self.assertEqual(options.debug_on, options2.debug_on)
self.assertEqual(options2.bv, options2.build_variant)
示例2: test_options_merge
# 需要导入模块: from aql.options import Options [as 别名]
# 或者: from aql.options.Options import merge [as 别名]
def test_options_merge(self):
options = Options()
options.opt1 = RangeOptionType( min_value = 1, max_value = 100 )
options.opt2 = RangeOptionType( min_value = 0, max_value = 5 )
options.opt3 = RangeOptionType( min_value = -10, max_value = 10 )
options.option1 = options.opt1
options.option3 = options.opt3
options.opt1 = 50
options.opt2 = 3
options.opt3 = 0
options2 = Options()
options2.opt21 = RangeOptionType( min_value = 1, max_value = 100 )
options2.opt22 = RangeOptionType( min_value = 0, max_value = 5 )
options2.opt23 = RangeOptionType( min_value = -10, max_value = 10 )
options2.option22 = options2.opt22
options2.option23 = options2.opt23
options.merge( options2 )
self.assertEqual( options.opt1, 50 )
self.assertEqual( options.opt2, 3 )
self.assertEqual( options.opt3, 0 )
self.assertIs( options.option1.option_value, options.opt1.option_value )
self.assertIs( options.option3.option_value, options.opt3.option_value )
self.assertEqual( options.opt21, options2.opt21 )
self.assertEqual( options.opt23, options2.opt23 )
self.assertEqual( options.opt22, options2.opt22 )
self.assertIs( options.option22.option_value, options.opt22.option_value )
self.assertIs( options.option23.option_value, options.opt23.option_value )
child_options2 = options2.override()
child_options2.option21 = child_options2.opt21
self.assertIs( child_options2.option21.option_value, child_options2.opt21.option_value )
child_options2.opt22 = 3
child_options2.opt23 = 7
child_options2.join()
self.assertIs( options2.option21.option_value, options2.opt21.option_value )
self.assertEqual( options2.opt22, 3 )
self.assertEqual( options2.opt23, 7 )
self.assertFalse( child_options2 )
child_options2 = options2.override()
options2.option_21 = options2.opt21
child_options2.opt22 = 4
child_options2.opt23 = 8
child_options2.unjoin()
self.assertIs( child_options2.option21.option_value, child_options2.option_21.option_value )
self.assertIs( child_options2.option21.option_value, child_options2.opt21.option_value )
self.assertIsNot( child_options2.opt21.option_value, options2.opt21.option_value )