Example #1
0
def test_as_mapping():
    class Foo(object):
        clazz = 'c'

        def __init__(self):
            self.inzt = 'i'

    m = util.as_mapping(Foo)
    assert 'clazz' in m
    assert m['clazz'] == 'c'
    assert sorted(dir(Foo)) == sorted(m)
    assert_raises(KeyError, m.__getitem__, 'inzt')

    mi = util.as_mapping(Foo())
    assert 'clazz' in mi
    assert mi['clazz'] == 'c'
    assert 'inzt' in mi
    assert mi['inzt'] == 'i'
    assert sorted(dir(Foo())) == sorted(mi)
Example #2
0
    def serialize(self, value):
        """Serializes value to string.

        If *value* is an instance of :attr:`type`, formats it as described in
        the attribute documentation.  Otherwise returns ``unicode(value)``.

        """
        if isinstance(value, self.type_):
            return self.format % as_mapping(value)
        else:
            return unicode(value)
Example #3
0
def test_as_mapping():

    class Foo(object):
        clazz = 'c'

        def __init__(self):
            self.inzt = 'i'

    m = util.as_mapping(Foo)
    assert 'clazz' in m
    assert m['clazz'] == 'c'
    assert sorted(dir(Foo)) == sorted(m)
    assert_raises(KeyError, m.__getitem__, 'inzt')

    mi = util.as_mapping(Foo())
    assert 'clazz' in mi
    assert mi['clazz'] == 'c'
    assert 'inzt' in mi
    assert mi['inzt'] == 'i'
    assert sorted(dir(Foo())) == sorted(mi)
Example #4
0
def test_as_mapping():

    class Foo(object):
        clazz = 'c'

        def __init__(self):
            self.inzt = 'i'

    m = util.as_mapping(Foo)
    assert 'clazz' in m
    assert m['clazz'] == 'c'
    assert sorted(dir(Foo)) == sorted(m)

    with pytest.raises(KeyError):
        m['inzt']

    mi = util.as_mapping(Foo())
    assert 'clazz' in mi
    assert mi['clazz'] == 'c'
    assert 'inzt' in mi
    assert mi['inzt'] == 'i'
    assert sorted(dir(Foo())) == sorted(mi)