Revision 02987e9c

b/kamaki/cli/argument/__init__.py
222 222

  
223 223
    @value.setter
224 224
    def value(self, newvalue):
225
        if newvalue == self.default:
226
            self._value = self.default
227
            return
228 225
        try:
229 226
            self._value = int(newvalue)
230 227
        except ValueError:
b/kamaki/cli/argument/test.py
34 34
from mock import patch, call
35 35
from unittest import TestCase
36 36
from StringIO import StringIO
37
from itertools import product
37
#from itertools import product
38 38

  
39
from kamaki.cli import argument
39
from kamaki.cli import argument, errors
40 40
from kamaki.cli.config import Config
41 41

  
42 42

  
......
212 212
        arg.assert_called_once(1, help, pname, default)
213 213

  
214 214

  
215
class IntArgument(TestCase):
216

  
217
    def test_value(self):
218
        ia = argument.IntArgument(parsed_name='--ia')
219
        self.assertEqual(ia.value, None)
220
        for v in (1, 0, -1, 923455555555555555555555555555555):
221
            ia.value = v
222
            self.assertEqual(ia.value, v)
223
        for v in ('1', '-1', 2.8):
224
            ia.value = v
225
            self.assertEqual(ia.value, int(v))
226
        for v, err in (
227
                ('invalid', errors.CLIError),
228
                (None, TypeError), (False, TypeError), ([1, 2, 3], TypeError)):
229
            try:
230
                ia.value = v
231
            except Exception as e:
232
                self.assertTrue(isinstance(e, err))
233

  
234

  
215 235
if __name__ == '__main__':
216 236
    from sys import argv
217 237
    from kamaki.cli.test import runTestCase
......
220 240
    runTestCase(RuntimeConfigArgument, 'RuntimeConfigArgument', argv[1:])
221 241
    runTestCase(FlagArgument, 'FlagArgument', argv[1:])
222 242
    runTestCase(FlagArgument, 'ValueArgument', argv[1:])
243
    runTestCase(IntArgument, 'IntArgument', argv[1:])
b/kamaki/cli/test.py
37 37
from kamaki.cli.command_tree.test import Command, CommandTree
38 38
from kamaki.cli.argument.test import (
39 39
    Argument, ConfigArgument, RuntimeConfigArgument, FlagArgument,
40
    ValueArgument)
40
    ValueArgument, IntArgument)
41 41

  
42 42

  
43 43
#  TestCase auxiliary methods

Also available in: Unified diff