def test_008_trace_mode(self): """test MsgTree in trace mode""" tree = MsgTree(mode=MODE_TRACE) tree.add("item1", b"message0") self.assertEqual(len(tree), 1) tree.add("item2", b"message2") tree.add("item3", b"message2") tree.add("item4", b"message3") tree.add("item2", b"message4") tree.add("item3", b"message4") self.assertEqual(len(tree), 4) self.assertEqual(tree["item1"], b"message0") self.assertEqual(tree.get("item1"), b"message0") self.assertEqual(tree["item2"], b"message2\nmessage4") self.assertEqual(tree.get("item2"), b"message2\nmessage4") self.assertEqual(tree.get("item5", b"default_buf"), b"default_buf") self.assertEqual(tree._depth(), 2) self.assertEqual(len(list(tree.walk())), 4) # /!\ results are not sorted result = [(m, sorted(k), d, c) for m, k, d, c in sorted(list(tree.walk_trace()))] self.assertEqual(result, [(b'message0', ['item1'], 1, 0), (b'message2', ['item2', 'item3'], 1, 1), (b'message3', ['item4'], 1, 0), (b'message4', ['item2', 'item3'], 2, 0)])
def test_008_trace_mode(self): """test MsgTree in trace mode""" tree = MsgTree(mode=MODE_TRACE) tree.add("item1", "message0") self.assertEqual(len(tree), 1) tree.add("item2", "message2") tree.add("item3", "message2") tree.add("item4", "message3") tree.add("item2", "message4") tree.add("item3", "message4") self.assertEqual(len(tree), 4) self.assertEqual(tree["item1"], "message0") self.assertEqual(tree.get("item1"), "message0") self.assertEqual(tree["item2"], "message2\nmessage4") self.assertEqual(tree.get("item2"), "message2\nmessage4") self.assertEqual(tree.get("item5", "default_buf"), "default_buf") self.assertEqual(tree._depth(), 2) self.assertEqual(len(list(tree.walk())), 4) self.assertEqual(list(tree.walk_trace()), \ [('message0', ['item1'], 1, 0), ('message2', ['item2', 'item3'], 1, 1), ('message4', ['item2', 'item3'], 2, 0), ('message3', ['item4'], 1, 0)])