Este projeto é um Gerador de Anagramas em Java. Ele permite que você forneça uma palavra e obtenha todas as possíveis combinações (anagramas) de suas letras. Além disso, integra automações via GitHub Actions, incluindo execução de testes e visualização dos resultados.
O objetivo do projeto é criar um código que:
- Gere anagramas de uma palavra dada como entrada.
- Valide que a entrada contém apenas letras alfabéticas.
- Funcione tanto localmente quanto em uma integração contínua com GitHub Actions.
- Forneça logs claros e resultados visualmente destacados, facilitando a interpretação de saídas no terminal e no Actions.
- Geração de Anagramas: Insira uma palavra e receba todas as combinações possíveis.
- Validação de Entrada: Garante que a palavra contenha apenas letras.
- Cores e Emojis no Output: Resultados formatados com cores para destacar sucesso ou erros.
- Integração com GitHub Actions:
- Executa testes automaticamente.
- Exibe os resultados gerados em destaque.
Certifique-se de ter os seguintes itens instalados:
-
Clone o repositório:
git clone <URL_DO_REPOSITORIO> cd <PASTA_DO_REPOSITORIO>
-
Compile o código:
mvn compile
-
Execute o código com uma palavra como entrada:
mvn exec:java -Dexec.mainClass="AnagramGenerator" -Dexec.args="<PALAVRA>"
Exemplo:
mvn exec:java -Dexec.mainClass="AnagramGenerator" -Dexec.args="java"
ou apenas:
mvn exec:java -Dexec.mainClass="AnagramGenerator"- Execute os testes:
mvn test
- Certifique-se de que o repositório está no GitHub e que as workflows do Actions estão configuradas.
- No repositório, acesse a aba Actions.
- Selecione o workflow Test and Run Anagram Generator.
- Clique em Run Workflow e insira a palavra desejada no campo de entrada.
- Visualize os resultados destacados no log da execução.
Os testes automatizados verificam:
-
Validação de entrada:
- Rejeitar entradas vazias.
- Rejeitar entradas com caracteres não alfabéticos.
-
Geração de anagramas:
- Confirma se todas as combinações possíveis são geradas corretamente.
Para executar os testes localmente:
mvn testsrc/main/java/AnagramGenerator.java: Contém o código principal do gerador de anagramas.src/test/java/AnagramGeneratorTest.java: Contém os testes unitários..github/workflows/anagram-generator.yml: Workflow para execução automatizada no GitHub Actions.

