def testDifferentFormat(self):
     self.maxDiff = None
     messages = whatsapp_archive.IdentifyMessages(INPUT_5)
     template_data = whatsapp_archive.TemplateData(messages,
                                                   "fake_filename")
     self.assertEqual(
         template_data, {
             'by_user': [
                 ('nobody', [
                     (datetime.datetime(2018, 2, 19, 17, 2), 'nobody',
                      'Los mensajes y llamadas en este chat ahora '
                      'están protegidos con cifrado de extremo a extremo. '
                      'Toca para más información.'),
                 ]),
                 ('human1', [
                     (datetime.datetime(2018, 2, 19, 17,
                                        2), 'human1', 'Hola'),
                 ]),
                 ('human2', [
                     (datetime.datetime(2018, 2, 19, 17,
                                        14), 'human2', 'como estás?'),
                 ]),
             ],
             'input_basename':
             'fake_filename',
             'input_full_path':
             'fake_filename'
         })
 def testEwout1(self):
     INPUT = [
         """[02-12-18 22:55:45] Ewout: Test\n""",
     ]
     self.maxDiff = None
     messages = whatsapp_archive.IdentifyMessages(INPUT)
     self.assertEqual(
         [(datetime.datetime(2018, 12, 2, 22, 55, 45), 'Ewout', 'Test')],
         messages)
 def testEwout2(self):
     INPUT = [
         "[02-12-18 22:55:45] Ewout: Test\n",
         "[02-12-18 22:56:00] Ewout: Does this work?\n",
         "[02-12-18 22:56:20] Ewout: Sending a message to myself\n",
     ]
     self.maxDiff = None
     messages = whatsapp_archive.IdentifyMessages(INPUT)
     self.assertEqual([
         (datetime.datetime(2018, 12, 2, 22, 55, 45), 'Ewout', 'Test'),
         (datetime.datetime(2018, 12, 2, 22,
                            56), 'Ewout', 'Does this work?'),
         (datetime.datetime(2018, 12, 2, 22, 56,
                            20), 'Ewout', 'Sending a message to myself'),
     ], messages)
 def testTemplateData(self):
     messages = whatsapp_archive.IdentifyMessages(INPUT_3)
     template_data = whatsapp_archive.TemplateData(messages,
                                                   "fake_filename")
     self.assertEqual(
         template_data, {
             'by_user':
             [('Fake Name', [(datetime.datetime(
                 2018, 1, 13, 1, 23), 'Fake Name', 'line1\nline2'),
                             (datetime.datetime(2018, 1, 13, 1, 24),
                              'Fake Name', 'line3')]),
              ('Name Two', [(datetime.datetime(
                  2018, 1, 13, 1, 25), 'Name Two', 'single line')])],
             'input_basename':
             'fake_filename',
             'input_full_path':
             'fake_filename'
         })
 def testNeil(self):
     self.maxDiff = None
     messages = whatsapp_archive.IdentifyMessages(INPUT_6)
     template_data = whatsapp_archive.TemplateData(messages,
                                                   "fake_filename")
     self.assertEqual(
         template_data, {
             'by_user': [
                 ('Neil', [
                     (datetime.datetime(2016, 6, 27, 8, 4,
                                        8), 'Neil', 'Hi'),
                 ]),
             ],
             'input_basename':
             'fake_filename',
             'input_full_path':
             'fake_filename'
         })
 def testFirstLineNoColon(self):
     messages = whatsapp_archive.IdentifyMessages(INPUT_4)
     template_data = whatsapp_archive.TemplateData(messages,
                                                   "fake_filename")
     self.assertEqual(
         template_data, {
             'by_user': [
                 ('nobody', [
                     (datetime.datetime(2018, 4, 14, 22, 8), 'nobody',
                      'Nesta conversa, (…)'),
                 ]),
                 ('Alguém', [
                     (datetime.datetime(2018, 4, 14, 22,
                                        8), 'Alguém', 'Olá!'),
                 ]),
             ],
             'input_basename':
             'fake_filename',
             'input_full_path':
             'fake_filename'
         })
 def testInputTwoMultiline(self):
     self.assertEqual(whatsapp_archive.IdentifyMessages(INPUT_2), [
         (datetime.datetime(2018, 1, 13, 1,
                            23), 'Fake Name', 'line1\nline2'),
         (datetime.datetime(2018, 1, 13, 1, 24), 'Name Two', 'single line'),
     ])
 def testInputMultiline(self):
     self.assertEqual(whatsapp_archive.IdentifyMessages(INPUT_1), [
         (datetime.datetime(2018, 1, 13, 1,
                            23), 'Fake Name', 'line1\nline2'),
     ])