Example #1
0
    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 <*****@*****.**>")
Example #2
0
    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)
Example #3
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)
Example #4
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 <*****@*****.**>")
Example #5
0
    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)