def redundancia(termo, tipo, termos): ''' Pega a lista de termos, verifica se tem redundancia. Se sim, retorna a mensagem de erro. Args: termo (str): Termo a ser analisado. tipo (str): Tipo, se 'A' palavra ou 'R' frase. termos (list): Lista de termos a serem comparados. Returns: str: Retorna a mensagem de erro. ''' lista = [] # Se o termo for uma frase 'R' de uma palavra só, então converte para palavra. if tipo == 'R': if len(remover_aspas(termo).split()) == 1: tipo = 'A' termo = remover_aspas(termo) if tipo == 'A': for i, _termo in enumerate(termos): meu_termo = remover_aspas(_termo['termos']) _tipo = _termo['tipo'] # print(i, _termo) # print(i, meu_termo) if _tipo == 'A': # print('caiu no palavra palavra') resposta = redun_palavra_palavra(termo, meu_termo) else: # print('caiu no palavra frase') resposta = redun_palavra_frase(termo, meu_termo) # print(i, 'antes', resposta) if resposta: lista.append(resposta) # print(i, 'depois', resposta) else: # Se tipo for igual a 'R', considerando a query. for _termo in termos: meu_termo = remover_aspas(_termo['termos']) _tipo = _termo['tipo'] if _tipo == 'R': resposta = redun_frase_frase(remover_aspas(termo), meu_termo) else: # Se for 'A', então troca palavra e frase de lugar # pra usar a mesma função. tmp_palavra = meu_termo tmp_frase = remover_aspas(termo) resposta = redun_palavra_frase(tmp_palavra, tmp_frase) if resposta: lista.append(resposta) print('\n') print('lista') print(lista) if lista: msg_error = "O termo '%s' é redundante." % lista[0]['quem'] return msg_error return
def test_pp_submarino(self): set1 = 'submarino' set2 = 'submarino amarelo' esperado = {'eh_redundante': True, 'quem': set2} self.assertEqual(redun_palavra_palavra(set1, set2), esperado)
def test_pp_jose_fernandes4(self): set1 = 'José Fernandes Silva' set2 = 'José Silva Fernandes Melo' esperado = {'eh_redundante': True, 'quem': set2} self.assertEqual(redun_palavra_palavra(set1, set2), esperado)
def test_pp_joao_augusto_jose_silva6(self): set3 = 'José Silva' set4 = 'João Augusto' esperado = {} self.assertEqual(redun_palavra_palavra(set3, set4), esperado)
def test_pp_joao_augusto_jose_silva4(self): set2 = 'João Silva' set3 = 'José Silva' esperado = {} self.assertEqual(redun_palavra_palavra(set2, set3), esperado)
def test_pp_joao_augusto_jose_silva2(self): set1 = 'José Augusto' set3 = 'José Silva' esperado = {} self.assertEqual(redun_palavra_palavra(set1, set3), esperado)
def test_pp_joao_maria3(self): set1 = 'Maria João Silva' set2 = 'João Maria' esperado = {'eh_redundante': True, 'quem': set1} self.assertEqual(redun_palavra_palavra(set1, set2), esperado)
def test_pp_joao_augusto3(self): set1 = 'João Augusto' set2 = 'João Pereira' esperado = {} self.assertEqual(redun_palavra_palavra(set1, set2), esperado)
def test_pp_joao_augusto2(self): set1 = 'João Augusto' set2 = 'João Pereira Augusto' esperado = {'eh_redundante': True, 'quem': set2} self.assertEqual(redun_palavra_palavra(set1, set2), esperado)
def test_pp_aaa(self): set1 = 'aaa' set2 = 'Amanda' esperado = {} self.assertEqual(redun_palavra_palavra(set1, set2), esperado)