示例#1
0
    def test_intervals(self):
        datetime_today = datetime.datetime.now()
        example_posts = [
            [
                {'message': u'''terça (01/10) a qualquer hora.'''},
                datetime.datetime.combine(datetime_today, datetime.time(6, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(23, 59))
            ],
            [
                {'message': u'''terça (01/10) a qualquer horario.'''},
                datetime.datetime.combine(datetime_today, datetime.time(6, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(23, 59))
            ],
            [
                {'message': u'''saindo até 12hrs.'''},
                datetime.datetime.combine(datetime_today, datetime.time(6, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(12, 0))
            ],
            [
                {'message': u'''Procuro São Carlos - São Paulo para amanhã (01/10) depois das 16!.'''},
                datetime.datetime.combine(datetime_today, datetime.time(16, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(23, 59))
            ],
            [
                {'message': u''''sao paulo - sao carlos na terca-feira 15/10 a partir das 18h.'''},
                datetime.datetime.combine(datetime_today, datetime.time(18, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(23, 59))
            ],
            [
                {'message': u''''14h/15h'''},
                datetime.datetime.combine(datetime_today, datetime.time(14, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(15, 0))
            ],
            [
                {
                'message': u''''dia 26 de outubro eu queria ... pode me dar uma carona --> qualquer hora'''},
                datetime.datetime.combine(datetime_today, datetime.time(6, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(23, 59))
            ],
        ]

        for p in example_posts:
            post = CaronaPost(p[0])
            ## just for testing
            post.tag_date = datetime_today
            # pprint(post.content_clean)
            ## datetime
            post.retrieve_time_tags()
            self.assertTrue(post.retrieve_time_tags(), 'not found interval tag time')
            print(post.tag_time, 'vs', p[1])
            self.assertEqual(post.tag_time, p[1], 'not correct time from ' + p[0]['message'])
            self.assertEqual(post.tag_time_to, p[2], 'not correct time to')
        return
示例#2
0
    def test_time(self):

        datetime_today = datetime.datetime.now()

        example_posts = [
            [
                {
                'message': u'''segunda-feira de manhã (horário a combinar - posso a partir das 8h30)'''},
                datetime.datetime.combine(datetime_today, datetime.time(8, 30)),
                datetime.datetime.combine(datetime_today, datetime.time(23, 59))
            ],
            [
                {'message': u'''pela manha'''},
                datetime.datetime.combine(datetime_today, datetime.time(6, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(12, 0))
            ],
            [
                {'message': u'''por volta das 18:30 19:00hrs'''},
                datetime.datetime.combine(datetime_today, datetime.time(18, 30)),
                datetime.datetime.combine(datetime_today, datetime.time(19, 30))
            ],
            [
                {'message': u'''por volta das 14 '''},
                datetime.datetime.combine(datetime_today, datetime.time(14, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(15, 0))
            ],
            [
                {'message': u'''sao carlos hoje, 27/10, as 21h. '''},
                datetime.datetime.combine(datetime_today, datetime.time(21, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(22, 0))
            ],
            [
                {'message': u'''ate as 8 da manha'''},
                datetime.datetime.combine(datetime_today, datetime.time(6, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(8, 0))
            ],
            [
                {'message': u'''saindo as 20h.'''},
                datetime.datetime.combine(datetime_today, datetime.time(20, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(21, 0))
            ],
            [
                {'message': u'''de preferencia no periodo da manha.'''},
                datetime.datetime.combine(datetime_today, datetime.time(6, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(12, 0))
            ],
            [
                {'message': u'''sanca segunda-feira de manha'''},
                datetime.datetime.combine(datetime_today, datetime.time(6, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(12, 0))
            ],
            [
                {'message': u'''segunda 28/10 as 19,'''},
                datetime.datetime.combine(datetime_today, datetime.time(19, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(20, 0))
            ],
            [
                {'message': u'''hoje (quinta-feira, 10/10), as 19hs.'''},
                datetime.datetime.combine(datetime_today, datetime.time(19, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(20, 0))
            ],
            [
                {'message': u'''sp\nsabado, 12/10, as 15h\nbusco '''},
                datetime.datetime.combine(datetime_today, datetime.time(15, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(16, 0))
            ],
            [
                {'message': u'''Por volta do 7:31hrs S. 1 vaga'''},
                datetime.datetime.combine(datetime_today, datetime.time(7, 31)),
                datetime.datetime.combine(datetime_today, datetime.time(8, 31))
            ],
            [
                {'message': u'''a do 7:31 hrs Saindo da'''},
                datetime.datetime.combine(datetime_today, datetime.time(7, 31)),
                datetime.datetime.combine(datetime_today, datetime.time(8, 31))

            ],
            [
                {'message': u''' volta do 7:31 h Saindvaga'''},
                datetime.datetime.combine(datetime_today, datetime.time(7, 31)),
                datetime.datetime.combine(datetime_today, datetime.time(8, 31))
            ],
            [
                {'message': u'''volta do 7:31h Saindo ga'''},
                datetime.datetime.combine(datetime_today, datetime.time(7, 31)),
                datetime.datetime.combine(datetime_today, datetime.time(8, 31))
            ],
            [
                {'message': u'''lta do 7:31pm Saindo da'''},
                datetime.datetime.combine(datetime_today, datetime.time(19, 31)),
                datetime.datetime.combine(datetime_today, datetime.time(20, 31))
            ],
            [
                {'message': u'''volta do 7:31pm Saindoaga'''},
                datetime.datetime.combine(datetime_today, datetime.time(19, 31)),
                datetime.datetime.combine(datetime_today, datetime.time(20, 31))
            ],
            [
                {'message': u'''volta do 7h31 pm Saindas  vagas'''},
                datetime.datetime.combine(datetime_today, datetime.time(19, 31)),
                datetime.datetime.combine(datetime_today, datetime.time(20, 31))
            ],
            [
                {'message': u'''volta do 17:31 horas S. três  vagas'''},
                datetime.datetime.combine(datetime_today, datetime.time(17, 31)),
                datetime.datetime.combine(datetime_today, datetime.time(18, 31))
            ],
            [
                {'message': u'''volta do 10 horas Sainuatro  vagas'''},
                datetime.datetime.combine(datetime_today, datetime.time(10, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(11, 0))
            ],
            [
                {'message': u'''ta do 10pm Saindo do m'''},
                datetime.datetime.combine(datetime_today, datetime.time(22, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(23, 0))
            ],
            [
                {'message': u'''lta do 10 am Saindo doas'''},
                datetime.datetime.combine(datetime_today, datetime.time(10, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(11, 0))
            ],
            [
                {'message': u'''a do 10 p.m. Saindo doas'''},
                datetime.datetime.combine(datetime_today, datetime.time(22, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(23, 0))
            ],
            [
                {'message': u'''a do 10:06 p.m. Saindomegas'''},
                datetime.datetime.combine(datetime_today, datetime.time(22, 6)),
                datetime.datetime.combine(datetime_today, datetime.time(23, 6))
            ],
            [
                {'message': u'''a do 10:06p.m. Saindo egas'''},
                datetime.datetime.combine(datetime_today, datetime.time(22, 6)),
                datetime.datetime.combine(datetime_today, datetime.time(23, 6))
            ],
            [
                {'message': u'''a do 10 pm. Saindo do s'''},
                datetime.datetime.combine(datetime_today, datetime.time(22, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(23, 0))
            ],
            [
                {'message': u''' do 15:10 hrs Saindo dugares'''},
                datetime.datetime.combine(datetime_today, datetime.time(15, 10)),
                datetime.datetime.combine(datetime_today, datetime.time(16, 10))
            ],
            [
                {'message': u'''a do 7 am Saindo do me 4   pessoas'''},
                datetime.datetime.combine(datetime_today, datetime.time(7, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(8, 0))
            ],
            [
                {'message': u'''a do 7 pm Saindo do me lugares'''},
                datetime.datetime.combine(datetime_today, datetime.time(19, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(20, 0))
            ],
            [
                {'message': u'''a das 10 da manha Sainobram 2  lugares'''},
                datetime.datetime.combine(datetime_today, datetime.time(10, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(11, 0))
            ],
            [
                {'message': u'''a das 3 da tarde Saindbram 2  lugares'''},
                datetime.datetime.combine(datetime_today, datetime.time(15, 0)),
                datetime.datetime.combine(datetime_today, datetime.time(16, 0))
            ],
        ]

        for p in example_posts:
            post = CaronaPost(p[0])
            ## just for testing
            post.tag_date = datetime_today
            pprint(post.content_clean)
            self.assertTrue(post.retrieve_time_tags(), 'found tag time')
            print(str(post.tag_time), 'vs', str(p[1]))
            self.assertEqual(post.tag_time, p[1], 'correct from datetime')
            print(str(post.tag_time_to), 'vs', str(p[2]))
            self.assertEqual(post.tag_time_to, p[2], 'correct to datetime')
        return