Revision 02987e9c kamaki/cli/argument/test.py

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:])

Also available in: Unified diff