Пример #1
0
 def dataProvider_testPrintName(self):
     p1 = Parameter('a', 'a')
     yield p1, '-', 0, '-a <str>'
     yield p1, '--param-', 0, '--param-a <str>'
     yield p1, '--param-', 16, '--param-a        <str>'
     p2 = Parameter('a', True)
     yield p2, '--param-', 16, '--param-a        (bool)'
Пример #2
0
    def dataProvider_testReprStr(self):
        p1 = Parameter('a', 'a')
        p1.required = True
        yield p1,

        p2 = Parameter('b', 'b')
        p2.show = True
        yield p2,

        p3 = Parameter('c', 2)
        p3.desc = 'what'
        yield p3,
Пример #3
0
    def dataProvider_testForceType(self):
        p1 = Parameter('a', 'a')
        yield p1, int, 0, ParameterTypeError

        p2 = Parameter('a', '')
        yield p2, int, 0, ParameterTypeError

        p3 = Parameter('a', '0')
        yield p3, 'list:str', ['0']
        yield p3, 'list:bool', [False]

        p4 = Parameter('aint', '0')
        yield p4, int, 0

        p5 = Parameter('a', 'False')
        yield p5, bool, 0
Пример #4
0
 def testSetGetAttr(self,
                    name,
                    val,
                    propname,
                    propval,
                    exptval=None,
                    exception=None,
                    msg=None):
     exptval = exptval or propval
     p = Parameter(name, val)
     if exception:
         self.assertRaisesRegex(exception, msg, setattr, p, propname,
                                propval)
     else:
         setattr(p, propname, propval)
         self.assertEqual(getattr(p, propname), exptval)
Пример #5
0
 def testInit(self, name, value, t, desc=None, exc=None, excmsg=None):
     desc = desc or []
     if excmsg:
         self.assertRaisesRegex(exc, excmsg, Parameter, name, value)
     else:
         param = Parameter(name, value)
         self.assertIsInstance(param, Parameter)
         self.assertEqual(param.desc, desc)
         self.assertFalse(param.required)
         self.assertTrue(param.show)
         self.assertEqual(param.type, t)
         self.assertEqual(param.name, name)
         if t == 'list':
             self.assertListEqual(param.value, list(value))
         else:
             self.assertEqual(param.value, value)
Пример #6
0
    def dataProvider_testLoadFile(self):
        yield self.testdir, False, []

        jsonfile = path.join(self.testdir, 'testLoadFile.json')
        helpers.writeFile(
            jsonfile, '\n'.join([
                '{',
                '	"a": "2",',
                '	"a.desc": "Option a",',
                '	"a.type": "int",',
                '	"a.required": true',
                '}',
            ]))
        p1 = Parameter('a', 2)
        p1.desc = "Option a"
        p1.required = True
        yield jsonfile, True, [p1]

        if helpers.moduleInstalled('yaml'):
            yamlfile = path.join(self.testdir, 'testLoadFile.yaml')
            helpers.writeFile(
                yamlfile, '\n'.join([
                    'a: 2',
                    'a.desc: Option a',
                    'a.type: int',
                    'a.required: false',
                    'a.show: true',
                    '',
                ]))
            p2 = Parameter('a', 2)
            p2.desc = "Option a"
            p2.required = False
            p2.show = True
            yield yamlfile, False, [p2]

        conffile = path.join(self.testdir, 'testLoadFile.conf')
        helpers.writeFile(
            conffile, '\n'.join([
                '[PARAM1]',
                'a = 2',
                'a.desc = Option a',
                'a.type = int',
                'a.required = f',
                '[PARAM2]',
                'a.type = str',
                'b:',
                '	1',
                '	2',
                'b.type = list',
            ]))
        p3 = Parameter('a', '2')
        p3.desc = "Option a"
        p3.required = False
        p4 = Parameter('b', ['1', '2'])
        yield conffile, True, [p3, p4]
Пример #7
0
    def dataProvider_testFromParams(self):
        from pyppl.parameters import Parameter
        p1 = Parameter('a', 'a1')
        p2 = Parameter('b', 'b1')
        p3 = Parameter('c', 'c1')
        ps = [p1, p2, p3]
        yield ps, [('a1', 'b1', 'c1')]

        p1 = Parameter('a', ['a1', 'a2'])
        p2 = Parameter('b', ['b1', 'b2'])
        p3 = Parameter('c', ['c1', 'c2'])
        ps = [p1, p2, p3]
        yield ps, [('a1', 'b1', 'c1'), ('a2', 'b2', 'c2')]

        p1 = Parameter('a', [])
        p2 = Parameter('b', [])
        p3 = Parameter('c', [])
        ps = [p1, p2, p3]
        yield ps, []

        p1 = Parameter('a', ['a1', 'a2'])
        p2 = Parameter('b', ['b1', 'b2'])
        p3 = Parameter('c', ['c1', 'c2', 'c3'])
        ps = [p1, p2, p3]
        yield ps, [], True