def test_fill_tree_single(self): mf = MailForest() mf.fill_tree([self.msgA]) self.assertTrue(isinstance(mf['*****@*****.**'], MailTree)) self.assertEqual(len(mf), 1) self.assertEqual(mf['*****@*****.**'].authors, ['From test <*****@*****.**>']) self.assertEqual(mf['*****@*****.**'].nodes['*****@*****.**'].author, "From test <*****@*****.**>")
def test_single_message_no_ref_but_reply(self): mf = MailForest() mf.fill_tree([self.msgC]) self.assertEqual(mf['*****@*****.**'].message_id, '*****@*****.**') self.assertEqual(mf['*****@*****.**'].message_id, '*****@*****.**') self.assertEqual(mf['*****@*****.**'].nodes['*****@*****.**'].author, "From test <*****@*****.**>") self.assertEqual(len(mf['*****@*****.**'].nodes['*****@*****.**'].children), 1) self.assertEqual(len(mf['*****@*****.**'].nodes['*****@*****.**'].children), 0)
def test_fill_reverse_double(self): mf = MailForest() mf.fill_tree([self.msgB, self.msgA]) self.assertEqual(mf['*****@*****.**'].message_id, '*****@*****.**') self.assertEqual(mf['*****@*****.**'].message_id, '*****@*****.**') self.assertEqual(mf['*****@*****.**'].nodes['*****@*****.**'].author, "From test <*****@*****.**>") self.assertEqual(mf['*****@*****.**'].nodes['*****@*****.**'].author, "From test <*****@*****.**>") self.assertEqual(mf['*****@*****.**'].nodes['*****@*****.**'].children[0].message_id, "*****@*****.**") self.assertEqual(len(mf['*****@*****.**'].nodes['*****@*****.**'].children), 1) self.assertEqual(len(mf['*****@*****.**'].nodes['*****@*****.**'].children), 0)
def test_fill_tree_single_child(self): mf = MailForest() mf.fill_tree([self.msgB]) self.assertTrue(isinstance(mf['*****@*****.**'], MailTree)) self.assertTrue(isinstance(mf['*****@*****.**'], MailTree)) self.assertEqual(len(mf), 1) self.assertEqual(mf['*****@*****.**'].message_id, '*****@*****.**') self.assertEqual(mf['*****@*****.**'].message_id, '*****@*****.**') self.assertEqual(len(mf['*****@*****.**'].nodes), 2) self.assertEqual(len(mf['*****@*****.**'].nodes), 2) self.assertEqual(mf['*****@*****.**'].nodes['*****@*****.**'].author, "From test <*****@*****.**>")
def test_simple_dangling_chain(self): mf = MailForest() mf.fill_tree([self.msgA, self.msgB, self.msgE]) self.assertEqual(mf['*****@*****.**'].message_id, '*****@*****.**') self.assertEqual(mf['*****@*****.**'].message_id, '*****@*****.**') self.assertEqual(mf['*****@*****.**'].message_id, '*****@*****.**') self.assertEqual(mf['*****@*****.**'].nodes['*****@*****.**'].author, "From test <*****@*****.**>") self.assertEqual(mf['*****@*****.**'].nodes['*****@*****.**'].author, "From test <*****@*****.**>") self.assertEqual(mf['*****@*****.**'].nodes['*****@*****.**'].author, "From test <*****@*****.**>") self.assertEqual(mf['*****@*****.**'].nodes['*****@*****.**'].children[0].message_id, "*****@*****.**") self.assertEqual(len(mf['*****@*****.**'].nodes['*****@*****.**'].children), 1) self.assertEqual(mf['*****@*****.**'].nodes['*****@*****.**'].children[0].message_id, "*****@*****.**") self.assertEqual(len(mf['*****@*****.**'].nodes['*****@*****.**'].children), 1)