Exemplo n.º 1
0
 def test_other_type_as_template(self):
     class MyClass(object):
         pass
     typ = confuse.as_template(MyClass)
     self.assertIsInstance(typ, confuse.TypeTemplate)
     self.assertEqual(typ.typ, MyClass)
     self.assertEqual(typ.default, confuse.REQUIRED)
Exemplo n.º 2
0
 def inject_base_config(cls):
     """Inject default values from base config to allow player-specific overrides"""
     base_config = config['players'].get(Monitor.CONFIG_TEMPLATE)
     base_template = confuse.as_template(base_config)
     template = getattr(cls, 'CONFIG_TEMPLATE', {})
     updated = {**base_template.subtemplates, **template}
     cls.CONFIG_TEMPLATE = updated
Exemplo n.º 3
0
    def test_other_type_as_template(self):
        class MyClass(object):
            pass

        typ = confuse.as_template(MyClass)
        self.assertIsInstance(typ, confuse.TypeTemplate)
        self.assertEqual(typ.typ, MyClass)
        self.assertEqual(typ.default, confuse.REQUIRED)
Exemplo n.º 4
0
 def test_nested_dict_as_template(self):
     typ = confuse.as_template({'outer': {'inner': 2}})
     self.assertIsInstance(typ, confuse.MappingTemplate)
     self.assertIsInstance(typ.subtemplates['outer'],
                           confuse.MappingTemplate)
     self.assertIsInstance(typ.subtemplates['outer'].subtemplates['inner'],
                           confuse.Integer)
     self.assertEqual(
         typ.subtemplates['outer'].subtemplates['inner'].default, 2)
Exemplo n.º 5
0
 def test_nested_dict_as_template(self):
     typ = confuse.as_template({'outer': {'inner': 2}})
     self.assertIsInstance(typ, confuse.MappingTemplate)
     self.assertIsInstance(typ.subtemplates['outer'],
                           confuse.MappingTemplate)
     self.assertIsInstance(typ.subtemplates['outer'].subtemplates['inner'],
                           confuse.Integer)
     self.assertEqual(typ.subtemplates['outer'].subtemplates['inner']
                      .default, 2)
Exemplo n.º 6
0
def optional(optional_type, default=None):
    """Create a confuse-compatible type for optional values.

    Parameters
    ----------
    optional_type : type
        type of the optional value
    default : optional
        default value if not specified
    Returns
    -------
    template: type
        optional type template
    """
    template = confuse.as_template(optional_type)
    template.default = default
    return template
Exemplo n.º 7
0
 def test_float_type_as_tempalte(self):
     typ = confuse.as_template(float)
     self.assertIsInstance(typ, confuse.Number)
     self.assertEqual(typ.default, confuse.REQUIRED)
Exemplo n.º 8
0
 def test_required_as_template(self):
     typ = confuse.as_template(confuse.REQUIRED)
     self.assertIs(type(typ), confuse.Template)
     self.assertEqual(typ.default, confuse.REQUIRED)
Exemplo n.º 9
0
 def test_concrete_string_as_template(self):
     typ = confuse.as_template('foo')
     self.assertIsInstance(typ, confuse.String)
     self.assertEqual(typ.default, 'foo')
Exemplo n.º 10
0
 def test_list_as_template(self):
     typ = confuse.as_template(list())
     self.assertIsInstance(typ, confuse.OneOf)
     self.assertEqual(typ.default, confuse.REQUIRED)
Exemplo n.º 11
0
 def test_dict_as_template(self):
     typ = confuse.as_template({'key': 9})
     self.assertIsInstance(typ, confuse.MappingTemplate)
     self.assertIsInstance(typ.subtemplates['key'], confuse.Integer)
     self.assertEqual(typ.subtemplates['key'].default, 9)
Exemplo n.º 12
0
 def test_unicode_type_as_template(self):
     typ = confuse.as_template(unicode)  # noqa ignore=F821
     self.assertIsInstance(typ, confuse.String)
     self.assertEqual(typ.default, confuse.REQUIRED)
Exemplo n.º 13
0
 def test_plain_string_as_template(self):
     typ = confuse.as_template(str)
     self.assertIsInstance(typ, confuse.String)
     self.assertEqual(typ.default, confuse.REQUIRED)
Exemplo n.º 14
0
 def test_plain_int_as_template(self):
     typ = confuse.as_template(int)
     self.assertIsInstance(typ, confuse.Integer)
     self.assertEqual(typ.default, confuse.REQUIRED)
Exemplo n.º 15
0
 def test_set_as_template(self):
     typ = confuse.as_template(set())
     self.assertIsInstance(typ, confuse.Choice)
Exemplo n.º 16
0
 def test_list_as_template(self):
     typ = confuse.as_template(list())
     self.assertIsInstance(typ, confuse.OneOf)
     self.assertEqual(typ.default, confuse.REQUIRED)
Exemplo n.º 17
0
 def test_dict_as_template(self):
     typ = confuse.as_template({'key': 9})
     self.assertIsInstance(typ, confuse.MappingTemplate)
     self.assertIsInstance(typ.subtemplates['key'], confuse.Integer)
     self.assertEqual(typ.subtemplates['key'].default, 9)
Exemplo n.º 18
0
 def test_basestring_as_template(self):
     typ = confuse.as_template(basestring)  # noqa ignore=F821
     self.assertIsInstance(typ, confuse.String)
     self.assertEqual(typ.default, confuse.REQUIRED)
Exemplo n.º 19
0
 def test_unicode_type_as_template(self):
     typ = confuse.as_template(unicode)  # noqa ignore=F821
     self.assertIsInstance(typ, confuse.String)
     self.assertEqual(typ.default, confuse.REQUIRED)
Exemplo n.º 20
0
 def test_list_type_as_template(self):
     typ = confuse.as_template(list)
     self.assertIsInstance(typ, confuse.TypeTemplate)
     self.assertEqual(typ.typ, collections.Sequence)
     self.assertEqual(typ.default, confuse.REQUIRED)
Exemplo n.º 21
0
 def test_none_as_template(self):
     typ = confuse.as_template(None)
     self.assertIs(type(typ), confuse.Template)
     self.assertEqual(typ.default, confuse.REQUIRED)
Exemplo n.º 22
0
 def test_concrete_int_as_template(self):
     typ = confuse.as_template(2)
     self.assertIsInstance(typ, confuse.Integer)
     self.assertEqual(typ.default, 2)
Exemplo n.º 23
0
 def test_dict_type_as_template(self):
     typ = confuse.as_template(dict)
     self.assertIsInstance(typ, confuse.TypeTemplate)
     self.assertEqual(typ.typ, collections.Mapping)
     self.assertEqual(typ.default, confuse.REQUIRED)
Exemplo n.º 24
0
 def test_concrete_string_as_template(self):
     typ = confuse.as_template('foo')
     self.assertIsInstance(typ, confuse.String)
     self.assertEqual(typ.default, 'foo')
Exemplo n.º 25
0
 def test_list_type_as_template(self):
     typ = confuse.as_template(list)
     self.assertIsInstance(typ, confuse.TypeTemplate)
     self.assertEqual(typ.typ, collections.Sequence)
     self.assertEqual(typ.default, confuse.REQUIRED)
Exemplo n.º 26
0
 def test_basestring_as_template(self):
     typ = confuse.as_template(basestring)  # noqa ignore=F821
     self.assertIsInstance(typ, confuse.String)
     self.assertEqual(typ.default, confuse.REQUIRED)
Exemplo n.º 27
0
 def test_set_type_as_template(self):
     typ = confuse.as_template(set)
     self.assertIsInstance(typ, confuse.TypeTemplate)
     self.assertEqual(typ.typ, set)
     self.assertEqual(typ.default, confuse.REQUIRED)
Exemplo n.º 28
0
 def test_enum_type_as_template(self):
     typ = confuse.as_template(enum.Enum)
     self.assertIsInstance(typ, confuse.Choice)
Exemplo n.º 29
0
 def test_concrete_float_as_template(self):
     typ = confuse.as_template(2.)
     self.assertIsInstance(typ, confuse.Number)
     self.assertEqual(typ.default, 2.)
Exemplo n.º 30
0
 def test_set_as_template(self):
     typ = confuse.as_template(set())
     self.assertIsInstance(typ, confuse.Choice)
Exemplo n.º 31
0
 def test_enum_type_as_template(self):
     typ = confuse.as_template(enum.Enum)
     self.assertIsInstance(typ, confuse.Choice)
Exemplo n.º 32
0
 def test_float_type_as_tempalte(self):
     typ = confuse.as_template(float)
     self.assertIsInstance(typ, confuse.Number)
     self.assertEqual(typ.default, confuse.REQUIRED)
Exemplo n.º 33
0
 def test_plain_int_as_template(self):
     typ = confuse.as_template(int)
     self.assertIsInstance(typ, confuse.Integer)
     self.assertEqual(typ.default, confuse.REQUIRED)
Exemplo n.º 34
0
 def test_none_as_template(self):
     typ = confuse.as_template(None)
     self.assertIs(type(typ), confuse.Template)
     self.assertEqual(typ.default, None)
Exemplo n.º 35
0
 def test_concrete_int_as_template(self):
     typ = confuse.as_template(2)
     self.assertIsInstance(typ, confuse.Integer)
     self.assertEqual(typ.default, 2)
Exemplo n.º 36
0
 def test_set_type_as_template(self):
     typ = confuse.as_template(set)
     self.assertIsInstance(typ, confuse.TypeTemplate)
     self.assertEqual(typ.typ, set)
     self.assertEqual(typ.default, confuse.REQUIRED)
Exemplo n.º 37
0
 def test_plain_string_as_template(self):
     typ = confuse.as_template(str)
     self.assertIsInstance(typ, confuse.String)
     self.assertEqual(typ.default, confuse.REQUIRED)
Exemplo n.º 38
0
 def test_dict_type_as_template(self):
     typ = confuse.as_template(dict)
     self.assertIsInstance(typ, confuse.TypeTemplate)
     self.assertEqual(typ.typ, collections.Mapping)
     self.assertEqual(typ.default, confuse.REQUIRED)
Exemplo n.º 39
0
def optional(type, default=None):
    template = confuse.as_template(type)
    template.default = default
    return template