Example #1
0
    def test_option_value_dict(self):
        opt_type1 = OptionType(value_type=dict)

        opt_value = OptionValue(opt_type1)

        cond_value = ConditionalValue(op_set({3: 4}))

        opt_value.append_value(cond_value)

        self.assertEqual(opt_value.get({}, None), {3: 4})
Example #2
0
    def test_option_value4(self):
        def _inc_value(value):
            return value + 1

        opt_value = OptionValue(OptionType(int))
        opt_value.append_value(ConditionalValue(op_set(2)))
        opt_value.append_value(
            ConditionalValue(SimpleInplaceOperation(_inc_value)))

        self.assertEqual(opt_value.get({}, None), 3)
Example #3
0
 def test_option_value4(self):
   opt_value = OptionValue( OptionType( int ) )
   
   def   _incValue( value ):
     return value + 1
   
   opt_value = OptionValue( OptionType( int ) )
   opt_value.appendValue( ConditionalValue( SetValue( 2 ) ) )
   opt_value.appendValue( ConditionalValue( SimpleInplaceOperation( _incValue ) ) )
   
   self.assertEqual( opt_value.get( {}, None ), 3 )
Example #4
0
    def test_option_value_enum(self):
        value_type = EnumOptionType(
            values=(('off', 0), ('size', 1), ('speed', 2)))

        opt_value = OptionValue(value_type)

        opt_value.append_value(ConditionalValue(op_set('size')))
        self.assertEqual(opt_value.get({}, None), value_type(1))

        opt_value.append_value(ConditionalValue(op_set('ultra')))
        self.assertRaises(
            ErrorOptionTypeUnableConvertValue, opt_value.get, {}, None)
Example #5
0
 def test_option_value_enum(self):
   value_type = EnumOptionType( values = ( ('off', 0), ('size', 1), ('speed', 2) ) )
   
   opt_value = OptionValue( value_type )
   
   opt_value.appendValue( ConditionalValue( SetValue( 'size' ) ) )
   self.assertEqual( opt_value.get( {}, None ), value_type(1) )
   
   opt_value.appendValue( ConditionalValue( SetValue( 'ultra' ) ) )
   self.assertRaises( ErrorOptionTypeUnableConvertValue, opt_value.get, {}, None )
Example #6
0
    def test_option_value(self):
        opt_type1 = RangeOptionType(min_value=0, max_value=5)

        opt_value = OptionValue(opt_type1)

        cond = Condition(None, _condition, flag=True, opt_value=opt_value)
        cond_value = ConditionalValue(op_iadd(2), cond)
        cond_value2 = ConditionalValue(op_iadd(3), cond)
        cond_value3 = ConditionalValue(op_iadd(3), cond)

        opt_value.append_value(cond_value)
        opt_value.append_value(cond_value2)
        opt_value.append_value(cond_value3)

        self.assertEqual(opt_value.get(options={}, context=None), 5)
Example #7
0
 def test_option_value(self):
   opt_type1 = RangeOptionType( min_value = 0, max_value = 5 )
   
   opt_value = OptionValue( opt_type1 )
   
   cond = Condition( None, _condition, flag = True, opt_value = opt_value )
   cond_value  = ConditionalValue( iAddValue( 2 ), cond )
   cond_value2 = ConditionalValue( iAddValue( 3 ), cond )
   cond_value3 = ConditionalValue( iAddValue( 3 ), cond )
   
   opt_value.appendValue( cond_value )
   opt_value.appendValue( cond_value2 )
   opt_value.appendValue( cond_value3 )
   
   self.assertEqual( opt_value.get( options = {}, context = None ), 5 )
Example #8
0
 def test_option_value3(self):
   opt_value = OptionValue( OptionType( int ) )
   
   opt_value.appendValue( ConditionalValue( SetValue( 1 ) ) )
   self.assertEqual( opt_value.get( {}, None ), 1 )
   opt_value.appendValue( ConditionalValue( SetValue( 0 ) ) )
   self.assertEqual( opt_value.get( {}, None ), 0 )
   
   opt_value_list = OptionValue( ListOptionType( value_type = int ) )
   opt_value_list.appendValue( ConditionalValue( SetValue( 1 ) ) )
   self.assertEqual( opt_value_list.get( {}, None ), 1 )
   
   opt_value_list.appendValue( ConditionalValue( iAddValue( 0 ) ) )
   self.assertEqual( opt_value_list.get( {}, None ), "1, 0" )
Example #9
0
 def test_option_value2(self):
   opt_value = OptionValue( OptionType( int ) )
   
   cond_true = Condition( None, _condition, flag = True )
   cond_false = Condition( cond_true,  _condition, flag = False )
   cond_false = Condition( cond_false, _condition, flag = True )
   
   opt_value.appendValue( ConditionalValue( iAddValue( 2 ), cond_false ) )
   self.assertEqual( opt_value.get( {}, None ), 0 )
   
   opt_value.appendValue( ConditionalValue( iAddValue( 3 ), cond_true ) )
   self.assertEqual( opt_value.get( {}, None ), 3 )
   
   opt_value.appendValue( ConditionalValue( iAddValue( 1 ), cond_true ) )
   self.assertEqual( opt_value.get( {}, None ), 4 )
   
   opt_value.appendValue( ConditionalValue( iAddValue( 1 ), cond_false ) )
   self.assertEqual( opt_value.get( {}, None ), 4 )
   
   opt_value2 = OptionValue( OptionType( int ) )
   
   opt_value.appendValue( ConditionalValue( SetValue( opt_value2 ), cond_true ) )
   
   opt_value2.appendValue( ConditionalValue( SetValue( 7 ), cond_true ) )
   
   self.assertEqual( opt_value.get( {}, None, _convertValue ), 7 )
   self.assertEqual( opt_value2.get( {}, None, _convertValue ), 7 )
   
   opt_value2.appendValue( ConditionalValue( SetValue( 8 ), cond_true ) )
   
   self.assertEqual( opt_value.get( {}, None, _convertValue ), 8 )
   self.assertEqual( opt_value2.get( {}, None, _convertValue ), 8 )
   
   opt_value.appendValue( ConditionalValue( iSubValue( 0 ), cond_true ) )
   
   self.assertEqual( opt_value.get( {}, None, _convertValue ), 8 )
   
   tmp_opt_value = opt_value.copy()
   
   self.assertEqual( tmp_opt_value.get( {}, None, _convertValue ), 8 )
   
   tmp_opt_value.appendValue( ConditionalValue( iAddValue( 2 ), cond_true ) )
   
   self.assertEqual( tmp_opt_value.get( {}, None, _convertValue ), 10 )
Example #10
0
 def test_option_value_list(self):
   opt_type1 = ListOptionType( value_type = EnumOptionType( values = ( ('off', 0), ('size', 1), ('speed', 2) ) ) )
   
   opt_value = OptionValue( opt_type1 )
   
   cond = Condition( None, _condition, flag = True, opt_value = opt_value )
   cond2 = Condition( cond, _condition, flag = False, opt_value = opt_value )
   
   cond_value  = ConditionalValue( iAddValue( 1 ), cond )
   cond_value2 = ConditionalValue( iAddValue( 0 ), cond2 )
   cond_value3 = ConditionalValue( iAddValue( 2 ), cond )
   cond_value4 = ConditionalValue( iAddValue( 1 ), cond2 )
   
   opt_value.appendValue( cond_value )
   opt_value.appendValue( cond_value2 )
   opt_value.appendValue( cond_value3 )
   opt_value.appendValue( cond_value4 )
   
   self.assertEqual( opt_value.get( {}, None ), [1,2] )
   
   opt_value.prependValue( cond_value3 )
   self.assertEqual( opt_value.get( {}, None ), [2,1,2] )
   
   opt_value = copy.copy( opt_value )
   self.assertEqual( opt_value.get( {}, None ), [2,1,2] )
   
   self.assertIs( opt_value.option_type, opt_type1 )
Example #11
0
 def test_option_value_cyclic(self):
   opt_value1 = OptionValue( OptionType( value_type = int ) )
   opt_value2 = OptionValue( RangeOptionType( min_value = 0, max_value = 5 ) )
   
   opt_value1.appendValue( ConditionalValue( SetValue( 1 ) ) )
   self.assertEqual( opt_value1.get( {}, None, _convertValue ), 1 )
   
   opt_value2.appendValue( ConditionalValue( SetValue( 2 ) ) )
   self.assertEqual( opt_value2.get( {}, None, _convertValue ), 2 )
   
   opt_value1.appendValue( ConditionalValue( iAddValue( opt_value2 ) ) )
   self.assertEqual( opt_value1.get( {}, None, _convertValue ), 3 )
   
   opt_value2.appendValue( ConditionalValue( iAddValue( opt_value1 ) ) )
   
   self.assertEqual( opt_value2.get( {}, None, _convertValue ), 5 )
   
   opt_value1.appendValue( ConditionalValue( iAddValue( opt_value2 ) ) )
   
   self.assertEqual( opt_value2.get( {}, None, _convertValue ), opt_value2.option_type(7) )
   self.assertEqual( opt_value1.get( {}, None, _convertValue ), 7 )
Example #12
0
    def test_option_value3(self):
        opt_value = OptionValue(OptionType(int))

        opt_value.append_value(ConditionalValue(op_set(1)))
        self.assertEqual(opt_value.get({}, None), 1)
        opt_value.append_value(ConditionalValue(op_set(0)))
        self.assertEqual(opt_value.get({}, None), 0)

        opt_value_list = OptionValue(ListOptionType(value_type=int))
        opt_value_list.append_value(ConditionalValue(op_set(1)))
        self.assertEqual(opt_value_list.get({}, None), 1)

        opt_value_list.append_value(ConditionalValue(op_iadd(0)))
        self.assertEqual(opt_value_list.get({}, None), "1, 0")
Example #13
0
    def test_option_value2(self):
        opt_value = OptionValue(OptionType(int))

        cond_true = Condition(None, _condition, flag=True)
        cond_false = Condition(cond_true,  _condition, flag=False)
        cond_false = Condition(cond_false, _condition, flag=True)

        opt_value.append_value(ConditionalValue(op_iadd(2), cond_false))
        self.assertEqual(opt_value.get({}, None), 0)

        opt_value.append_value(ConditionalValue(op_iadd(3), cond_true))
        self.assertEqual(opt_value.get({}, None), 3)

        opt_value.append_value(ConditionalValue(op_iadd(1), cond_true))
        self.assertEqual(opt_value.get({}, None), 4)

        opt_value.append_value(ConditionalValue(op_iadd(1), cond_false))
        self.assertEqual(opt_value.get({}, None), 4)

        opt_value2 = OptionValue(OptionType(int))

        opt_value.append_value(
            ConditionalValue(op_set(opt_value2), cond_true))

        opt_value2.append_value(ConditionalValue(op_set(7), cond_true))

        self.assertEqual(opt_value.get({}, None, _convert_value), 7)
        self.assertEqual(opt_value2.get({}, None, _convert_value), 7)

        opt_value2.append_value(ConditionalValue(op_set(8), cond_true))

        self.assertEqual(opt_value.get({}, None, _convert_value), 8)
        self.assertEqual(opt_value2.get({}, None, _convert_value), 8)

        opt_value.append_value(ConditionalValue(op_isub(0), cond_true))

        self.assertEqual(opt_value.get({}, None, _convert_value), 8)

        tmp_opt_value = opt_value.copy()

        self.assertEqual(tmp_opt_value.get({}, None, _convert_value), 8)

        tmp_opt_value.append_value(ConditionalValue(op_iadd(2), cond_true))

        self.assertEqual(tmp_opt_value.get({}, None, _convert_value), 10)
Example #14
0
    def test_option_value_list(self):

        opt_type1 = ListOptionType(value_type=EnumOptionType(
            values=(('off', 0), ('size', 1), ('speed', 2))))

        opt_value = OptionValue(opt_type1)

        cond = Condition(None, _condition, flag=True, opt_value=opt_value)
        cond2 = Condition(cond, _condition, flag=False, opt_value=opt_value)

        cond_value = ConditionalValue(op_iadd(1), cond)
        cond_value2 = ConditionalValue(op_iadd(0), cond2)
        cond_value3 = ConditionalValue(op_iadd(2), cond)
        cond_value4 = ConditionalValue(op_iadd(1), cond2)

        opt_value.append_value(cond_value)
        opt_value.append_value(cond_value2)
        opt_value.append_value(cond_value3)
        opt_value.append_value(cond_value4)

        self.assertEqual(opt_value.get({}, None), [1, 2])

        opt_value.prepend_value(cond_value3)
        self.assertEqual(opt_value.get({}, None), [2, 1, 2])

        opt_value = copy.copy(opt_value)
        self.assertEqual(opt_value.get({}, None), [2, 1, 2])

        self.assertIs(opt_value.option_type, opt_type1)
Example #15
0
    def test_option_value_cyclic(self):
        opt_value1 = OptionValue(OptionType(value_type=int))
        opt_value2 = OptionValue(RangeOptionType(min_value=0, max_value=5))

        opt_value1.append_value(ConditionalValue(op_set(1)))
        self.assertEqual(opt_value1.get({}, None, _convert_value), 1)

        opt_value2.append_value(ConditionalValue(op_set(2)))
        self.assertEqual(opt_value2.get({}, None, _convert_value), 2)

        opt_value1.append_value(ConditionalValue(op_iadd(opt_value2)))
        self.assertEqual(opt_value1.get({}, None, _convert_value), 3)

        opt_value2.append_value(ConditionalValue(op_iadd(opt_value1)))

        self.assertEqual(opt_value2.get({}, None, _convert_value), 5)

        opt_value1.append_value(ConditionalValue(op_iadd(opt_value2)))

        self.assertEqual(opt_value2.get({}, None, _convert_value),
                         opt_value2.option_type(7))

        self.assertEqual(opt_value1.get({}, None, _convert_value), 7)