def test_retornando_as_10_cores_caso_usando_grupos(self): regex = '(a)|(b)|(c)|(d)|(e)|(f)|(g)|(h)|(i)|(j)' resultado = next(procurar(regex, 'abcdefghij')) esperado = ('\x1b[38;5;208ma\x1b[0m\x1b[38;5;2mb\x1b[0m\x1b[38;5;1m' 'c\x1b[0m\x1b[38;5;4md\x1b[0m\x1b[38;5;3me\x1b[0m\x1b[38;5' ';54mf\x1b[0m\x1b[38;5;6mg\x1b[0m\x1b[38;5;5mh\x1b[0m' '\x1b[38;5;198mi\x1b[0m\x1b[38;5;173mj\x1b[0m') self.assertEqual(resultado, esperado)
def test_cores_reiniciando_caso_ultrapasse_o_tamanho_de_10(self): regex = '(a)|(b)|(c)|(d)|(e)|(f)|(g)|(h)|(i)|(j)|(k)' resultado = next(procurar(regex, 'abcdefghijk')) esperado = ('\x1b[38;5;208ma\x1b[0m\x1b[38;5;2mb\x1b[0m\x1b[38;5;1m' 'c\x1b[0m\x1b[38;5;4md\x1b[0m\x1b[38;5;3me\x1b[0m\x1b[38;' '5;54mf\x1b[0m\x1b[38;5;6mg\x1b[0m\x1b[38;5;5mh\x1b[0m\x1b' '[38;5;198mi\x1b[0m\x1b[38;5;173mj\x1b[0m\x1b[38;5;208mk' '\x1b[0m') self.assertEqual(resultado, esperado)
def test_retornando_texto_laranja_caso_usando_pipe_no_regex(self): resultado = next(procurar('oi', 'teste testeoiola ')) esperado = 'teste teste\x1b[38;5;208moi\x1b[0mola ' self.assertEqual(resultado, esperado)
def test_retornando_None_caso_texto_e_regex_estiverem_vazios(self): resultado = next(procurar('', ''), None) self.assertEqual(resultado, None)
def test_retornando_none_caso_texto_vazio(self): resultado = next(procurar('oi', ''), None) self.assertIs(resultado, None)
def test_retornando_toda_a_string_caso_regex_vazio(self): resultado = next(procurar('', 'oi')) self.assertEqual(resultado, 'oi')
def test_retornando_generator_caso_inserido_texto(self): resultado = procurar('a', 'a') self.assertIsInstance(resultado, Generator)