Exemplo n.º 1
0
    def test_keydescvalues(self):
        param = Parameter(
            diz=dict(
                name="range",
                required="yes",
                multiple="yes",
                keydesc=("range", "(min, max)"),
                type="integer",
            )
        )
        # set private attributes to skip the check function
        param._value = [
            (1.0, 2.0),
        ]
        param._rawvalue = (1.0, 2.0)
        self.assertEqual("range=1.0,2.0", param.get_bash())
        param._value = [(1.0, 2.0), (3.0, 4.0)]
        param._rawvalue = [(1.0, 2.0), (3.0, 4.0)]
        self.assertEqual("range=1.0,2.0,3.0,4.0", param.get_bash())
        param._value = [(1.0, 2.0), (3.0, 4.0)]
        param._rawvalue = [("1.0", "2.00"), ("3.000", "4.0000")]
        self.assertEqual("range=1.0,2.00,3.000,4.0000", param.get_bash())

        with self.assertRaises(TypeError):
            _check_value(param, 1)
Exemplo n.º 2
0
    def test_multiple_integer(self):
        param = Parameter(diz=dict(name='int_number', required='yes',
                                   multiple='yes', type='integer'))
        value = (1, 2)
        #import ipdb; ipdb.set_trace()
        self.assertTupleEqual((list(value), value), _check_value(param, value))
        value = (1.2, 2.3)
        self.assertTupleEqual(([int(v) for v in value], value),
                              _check_value(param, value))
        value = ("1", "2")
        self.assertTupleEqual(([int(v) for v in value], value),
                              _check_value(param, value))
        value = 1
        self.assertTupleEqual(([1, ], value), _check_value(param, value))
        value = 1.2
        self.assertTupleEqual(([int(value), ], value),
                              _check_value(param, value))
        value = "1"
        self.assertTupleEqual(([int(value), ], value),
                              _check_value(param, value))

        # test errors
        with self.assertRaises(ValueError):
            _check_value(param, "elev")
        with self.assertRaises(ValueError):
            _check_value(param, ("elev", "slope", "aspect"))
Exemplo n.º 3
0
    def test_multiple_float_double(self):
        for ptype in ('float', 'double'):
            param = Parameter(diz=dict(name='number', required='yes',
                                       multiple='yes', type=ptype))
            value = (1.4, 2.3)
            self.assertTupleEqual((list(value), value),
                                  _check_value(param, value))
            value = (1, 2)
            self.assertTupleEqual(([float(v) for v in value], value),
                                  _check_value(param, value))
            value = ("1", "2")
            self.assertTupleEqual(([float(v) for v in value], value),
                                  _check_value(param, value))
            value = ("1.4", "2.3")
            self.assertTupleEqual(([float(v) for v in value], value),
                                  _check_value(param, value))
            value = 1.
            self.assertTupleEqual(([value, ], value),
                                  _check_value(param, value))
            value = 1
            self.assertTupleEqual(([value, ], value),
                                  _check_value(param, value))

            # test errors
            with self.assertRaises(ValueError):
                _check_value(param, "elev")
            with self.assertRaises(ValueError):
                _check_value(param, ("elev", "slope", "aspect"))
Exemplo n.º 4
0
    def test_keydescvalues(self):
        for ptype in ("integer", "float"):
            param = Parameter(
                diz=dict(
                    name="int_number",
                    required="yes",
                    multiple="yes",
                    keydesc=("range", "(min, max)"),
                    type="integer",
                )
            )
            value = (1, 2)
            self.assertTupleEqual(
                (
                    [
                        value,
                    ],
                    value,
                ),
                _check_value(param, value),
            )
            value = [(1, 2), (2, 3)]
            self.assertTupleEqual((value, value), _check_value(param, value))

            with self.assertRaises(TypeError):
                _check_value(param, 1)
Exemplo n.º 5
0
    def test_single_all(self):
        param = Parameter(diz=dict(name='int_number', required='yes',
                                   multiple='no', type='all'))
        value = 1
        self.assertTupleEqual((value, value), _check_value(param, value))
        value = 1.2
        self.assertTupleEqual((value, value), _check_value(param, value))
        value = "elev"
        self.assertTupleEqual((value, value), _check_value(param, value))

        # test errors
        with self.assertRaises(TypeError):
            _check_value(param, (1, 2))
Exemplo n.º 6
0
    def test_multiple_strings(self):
        param = Parameter(
            diz=dict(name="rastnames", required="yes", multiple="yes", type="string")
        )
        value = ["elev", "slope", "aspect"]
        self.assertTupleEqual((value, value), _check_value(param, value))
        value = ("elev", "slope", "aspect")
        self.assertTupleEqual((list(value), value), _check_value(param, value))
        value = ["1.3", "2.3", "4.5"]
        self.assertTupleEqual((value, value), _check_value(param, value))
        value = [1.3, 2.3, 4.5]
        self.assertTupleEqual(
            ([str(v) for v in value], value), _check_value(param, value)
        )
        value = (1, 2, 3)
        self.assertTupleEqual(
            ([str(v) for v in value], value), _check_value(param, value)
        )
        value = "elev"
        self.assertTupleEqual(
            (
                [
                    value,
                ],
                value,
            ),
            _check_value(param, value),
        )

        # test errors
        with self.assertRaises(ValueError):
            _check_value(param, ({}, {}, {}))
Exemplo n.º 7
0
    def test_keydescvalues(self):
        for ptype in ('integer', 'float'):
            param = Parameter(diz=dict(name='int_number', required='yes',
                                       multiple='yes',
                                       keydesc=('range', '(min, max)'),
                                       type='integer'))
            value = (1, 2)
            self.assertTupleEqual(([value, ], value),
                                  _check_value(param, value))
            value = [(1, 2), (2, 3)]
            self.assertTupleEqual((value, value), _check_value(param, value))

            with self.assertRaises(TypeError):
                _check_value(param, 1)
Exemplo n.º 8
0
    def test_single_string_file(self):
        for ptype in ("string", "file"):
            param = Parameter(
                diz=dict(name="name", required="yes", multiple="no", type=ptype)
            )
            value = "elev"
            self.assertTupleEqual((value, value), _check_value(param, value))
            value = 10
            self.assertTupleEqual((str(value), value), _check_value(param, value))
            value = 12.5
            self.assertTupleEqual((str(value), value), _check_value(param, value))

            # test errors
            with self.assertRaises(TypeError):
                _check_value(param, ("abc", "def"))
Exemplo n.º 9
0
    def test_single_string_file(self):
        for ptype in ('string', 'file'):
            param = Parameter(diz=dict(name='name', required='yes',
                                       multiple='no', type=ptype))
            value = u'elev'
            self.assertTupleEqual((value, value), _check_value(param, value))
            value = 10
            self.assertTupleEqual((str(value), value),
                                  _check_value(param, value))
            value = 12.5
            self.assertTupleEqual((str(value), value),
                                  _check_value(param, value))

            # test errors
            with self.assertRaises(TypeError):
                _check_value(param, ('abc', 'def'))
Exemplo n.º 10
0
    def test_keydescvalues(self):
        param = Parameter(diz=dict(name='range', required='yes',
                                   multiple='yes',
                                   keydesc=('range', '(min, max)'),
                                   type='integer'))
        # set private attributes to skip the check function
        param._value = [(1., 2.), ]
        param._rawvalue = (1., 2.)
        self.assertEqual("range=1.0,2.0", param.get_bash())
        param._value = [(1., 2.), (3., 4.)]
        param._rawvalue = [(1., 2.), (3., 4.)]
        self.assertEqual("range=1.0,2.0,3.0,4.0", param.get_bash())
        param._value = [(1., 2.), (3., 4.)]
        param._rawvalue = [('1.0', '2.00'), ('3.000', '4.0000')]
        self.assertEqual("range=1.0,2.00,3.000,4.0000", param.get_bash())

        with self.assertRaises(TypeError):
            _check_value(param, 1)
Exemplo n.º 11
0
    def test_choice_string(self):
        values = ["elev", "asp", "slp"]
        param = Parameter(diz=dict(name='rastname', required='yes',
                                   multiple='no', type='string',
                                   values=values))
        value = "asp"
        self.assertTupleEqual((value, value), _check_value(param, value))

        # test errors
        with self.assertRaises(ValueError):
            _check_value(param, "2")
        with self.assertRaises(ValueError):
            _check_value(param, "2.")
        with self.assertRaises(TypeError):
            _check_value(param, (1, 2))
        with self.assertRaises(ValueError):
            _check_value(param, "elevation")
Exemplo n.º 12
0
    def test_single_integer(self):
        param = Parameter(
            diz=dict(name="int_number", required="yes", multiple="no", type="integer")
        )
        value = 1
        self.assertTupleEqual((value, value), _check_value(param, value))
        value = 1.2
        self.assertTupleEqual((int(value), value), _check_value(param, value))
        value = "1"
        self.assertTupleEqual((int(value), value), _check_value(param, value))

        # test errors
        with self.assertRaises(ValueError):
            _check_value(param, "1.")
        with self.assertRaises(ValueError):
            _check_value(param, "elev")
        with self.assertRaises(TypeError):
            _check_value(param, (1, 2))
Exemplo n.º 13
0
    def test_single_float_double(self):
        for ptype in ('float', 'double'):
            param = Parameter(diz=dict(name='int_number', required='yes',
                                       multiple='no', type=ptype))
            value = 1
            self.assertTupleEqual((float(value), value), _check_value(param, value))
            value = 1.2
            self.assertTupleEqual((value, value), _check_value(param, value))
            value = "1"
            self.assertTupleEqual((float(value), value), _check_value(param, value))
            value = "1.35"
            self.assertTupleEqual((float(value), value), _check_value(param, value))

            # test errors
            with self.assertRaises(ValueError):
                _check_value(param, "elev")
            with self.assertRaises(TypeError):
                _check_value(param, (1., 2.))
Exemplo n.º 14
0
    def test_single_float_double(self):
        for ptype in ("float", "double"):
            param = Parameter(
                diz=dict(name="int_number", required="yes", multiple="no", type=ptype)
            )
            value = 1
            self.assertTupleEqual((float(value), value), _check_value(param, value))
            value = 1.2
            self.assertTupleEqual((value, value), _check_value(param, value))
            value = "1"
            self.assertTupleEqual((float(value), value), _check_value(param, value))
            value = "1.35"
            self.assertTupleEqual((float(value), value), _check_value(param, value))

            # test errors
            with self.assertRaises(ValueError):
                _check_value(param, "elev")
            with self.assertRaises(TypeError):
                _check_value(param, (1.0, 2.0))
Exemplo n.º 15
0
    def test_multiple_strings(self):
        param = Parameter(diz=dict(name='rastnames', required='yes',
                                   multiple='yes', type='string'))
        value = ['elev', 'slope', 'aspect']
        self.assertTupleEqual((value, value), _check_value(param, value))
        value = ('elev', 'slope', 'aspect')
        self.assertTupleEqual((list(value), value), _check_value(param, value))
        value = ['1.3', '2.3', '4.5']
        self.assertTupleEqual((value, value), _check_value(param, value))
        value = [1.3, 2.3, 4.5]
        self.assertTupleEqual(([str(v) for v in value], value),
                              _check_value(param, value))
        value = (1, 2, 3)
        self.assertTupleEqual(([str(v) for v in value], value),
                              _check_value(param, value))
        value = 'elev'
        self.assertTupleEqual(([value, ], value), _check_value(param, value))

        # test errors
        with self.assertRaises(ValueError):
            _check_value(param, ({}, {}, {}))
Exemplo n.º 16
0
    def test_choice_integer(self):
        param = Parameter(
            diz=dict(
                name="int_number",
                required="yes",
                multiple="no",
                type="integer",
                values=[2, 4, 6, 8],
            )
        )
        value = 4
        self.assertTupleEqual((value, value), _check_value(param, value))
        value = 2
        self.assertTupleEqual((int(value), value), _check_value(param, value))
        value = "8"
        self.assertTupleEqual((int(value), value), _check_value(param, value))

        # test errors
        with self.assertRaises(ValueError):
            _check_value(param, "2.")
        with self.assertRaises(ValueError):
            _check_value(param, "elev")
        with self.assertRaises(TypeError):
            _check_value(param, (1, 2))
        with self.assertRaises(ValueError):
            _check_value(param, 3)
Exemplo n.º 17
0
    def test_choice_integer(self):
        param = Parameter(diz=dict(name='int_number', required='yes',
                                   multiple='no', type='integer',
                                   values=[2, 4, 6, 8]))
        value = 4
        self.assertTupleEqual((value, value), _check_value(param, value))
        value = 2
        self.assertTupleEqual((int(value), value), _check_value(param, value))
        value = "8"
        self.assertTupleEqual((int(value), value), _check_value(param, value))

        # test errors
        with self.assertRaises(ValueError):
            _check_value(param, "2.")
        with self.assertRaises(ValueError):
            _check_value(param, "elev")
        with self.assertRaises(TypeError):
            _check_value(param, (1, 2))
        with self.assertRaises(ValueError):
            _check_value(param, 3)
Exemplo n.º 18
0
    def test_range_integer(self):
        param = Parameter(diz=dict(name='int_number', required='yes',
                                   multiple='no', type='integer',
                                   values=["0-10", ]))
        value = 1
        self.assertTupleEqual((value, value), _check_value(param, value))
        value = 0
        self.assertTupleEqual((value, value), _check_value(param, value))
        value = 10
        self.assertTupleEqual((value, value), _check_value(param, value))
        value = 1.2
        self.assertTupleEqual((int(value), value), _check_value(param, value))
        value = "1"
        self.assertTupleEqual((int(value), value), _check_value(param, value))

        # test errors
        with self.assertRaises(ValueError):
            _check_value(param, "1.")
        with self.assertRaises(ValueError):
            _check_value(param, "elev")
        with self.assertRaises(TypeError):
            _check_value(param, (1, 2))
        with self.assertRaises(ValueError):
            _check_value(param, -1)
        with self.assertRaises(ValueError):
            _check_value(param, 11)