def test_parse_dtab(): assert parse_dtab('') == Dtab.empty() assert parse_dtab(' /=>! ') == Dtab([Dentry(Path.empty(), NameTree.Fail)]) assert parse_dtab('/=>!;') == Dtab([Dentry(Path.empty(), NameTree.Fail)]) assert parse_dtab('/=>!;/foo=>/bar') == Dtab([ Dentry(Path.empty(), NameTree.Fail), Dentry(Path('foo'), NameTree.Leaf(Path('bar'))) ])
def test_tdispatch(tag): for contexts in [(), (('foo', 'bar'),), (('foo', 'bar'), ('bork', 'bonk'))]: for body in ['', 'baz']: for dest in ['/wat', '/x/y/z']: msg = Tdispatch(tag, contexts, dest, Dtab.empty(), body.encode('utf-8')) msg2 = Packet.decode(msg.encode()) assert msg.tag == msg2.tag assert msg.dest == msg2.dest assert msg.contexts == msg2.contexts assert msg.dtab == msg2.dtab assert msg.body == msg2.body