summaryrefslogtreecommitdiff
path: root/test/test_stricttype.py
blob: a20b5eb7aa37bbe2cfa615206415d2ce618797b4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# coding: utf-8

from collections import namedtuple
from msgpack import packb, unpackb


def test_namedtuple():
    T = namedtuple('T', "foo bar")
    def default(o):
        if isinstance(o, T):
            return dict(o._asdict())
        raise TypeError('Unsupported type %s' % (type(o),))
    packed = packb(T(1, 42), strict_types=True, use_bin_type=True, default=default)
    unpacked = unpackb(packed, encoding='utf-8')
    assert unpacked == {'foo': 1, 'bar': 42}