Atividade da matéria Testes de Software ministrada pela Profa. Dra. ELaine Venson. Este projeto é uma aplicação de agenda de eventos implementada em Java, utilizando a abordagem de Desenvolvimento Orientado a Testes (TDD). Ele permite a criação, visualização e remoção de eventos, com verificação de conflitos de horário. O projeto tem como objetivo aprender a aplicação do Desenvolvimento Orientado a Testes.
- Adicionar Evento: Permite adicionar eventos especificando nome, data de início e data de término. A aplicação verifica se há conflitos de horário com eventos exixtentes antes de adicionar um novo.
- Remover Evento: Remove um evento existente a partir do nome especificado
- Mostrar Evento: Exibe todos os eventos agendados.
- Verificar Conflitos: Garante que eventos não tenham horários sobrepostos, impedindo a inclusão de novos eventos que gerem conflitos.
O projeto é composto pelos seuintes arquivos principais:
Representa um evento com as seguintes propriedades:
String nome
: Nome do evento.LocalDateTime dataInicio
: Data e hora de início do evento.LocalDateTime dataFim
: Data e hora de término do evento.
Gerencia a interação com o usuário e realiza as operações de manipulação de eventos:
- Adicionar eventos.
- Remover eventos.
- Mostrar eventos.
- Validar se o horário de um novo evento conflita com horários de eventos existentes.
Contém testes automatizados para garantir a funcionalidade correta da aplicação. Os testes cobrem os seguintes cenários:
- Adição de eventos sem conflitos.
- Tentativa de adicionar eventos com conflitos de horário.
- Remoção de eventos existentes.
- Remoção de eventos inexistentes.
- Exibição de eventos agendados.
- Teste de entrada de dados inválida (como datas no formato errado ou nome vazio).
- Java 11+ instalado.
- JUnit 5 para testes automatizados.
- Clone o repositório:
git clone https://github.com/usuario/agenda-eventos.git
- Navegue até o diretório do projeto:
cd agenda-eventos
- Compile os arquivos Java:
javac -d bin src/atividade4xgh/*.java
- Execute a aplicação:
java -cp bin atividade4xgh.Main
- Certifique-se de ter o JUnit configurado no seu ambiente.
- Compile os arquivos de teste:
javac -cp "path/para/junit5.jar" -d bin src/test/java/*.java
- Execute os testes:
java -jar path/para/junit5.jar --class-path bin --scan-class-path
Digite a ação (adicionar, remover, mostrar, sair):
> adicionar
Digite o nome do evento:
> Reunião de Equipe
Digite a hora de início do evento (yyyy-MM-dd HH:mm):
> 2024-10-12 09:00
Digite a hora de fim do evento (yyyy-MM-dd HH:mm):
> 2024-10-12 10:00
Evento adicionado com sucesso!
Digite a ação (adicionar, remover, mostrar, sair):
> remover
Digite o nome do evento:
> Reunião de Equipe
Evento removido com sucesso.
Digite a ação (adicionar, remover, mostrar, sair):
> mostrar
Reunião de Equipe: 2024-10-12 09:00 a 2024-10-12 10:00