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
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