Exercício 1: Verificação de Igualdade
Você precisa garantir que o método somar retorne a soma correta de dois números inteiros. Como você poderia escrever um teste unitário que verifique se o método somar(int a, int b) está retornando os valores esperados? Use assertEquals para validar as respostas. Implemente o método e escreva os testes necessários.
Exercício 2: Verificação de Verdadeiro/Falso
Imagine que você esteja desenvolvendo um método para verificar se um número é par. Como você poderia criar um teste para garantir que o método ehPar(int n) retorne true para números pares e false para números ímpares? Utilize assertTrue e assertFalse para validar os casos. Implemente o método e crie os testes.
Exercício 3: Verificação de Nulo
Ao buscar um usuário pelo seu ID em um banco de dados, o método buscarUsuarioPorId(int id) deve retornar um objeto Usuario se o ID for encontrado e null se o ID não existir. Como você escreveria testes unitários para verificar o comportamento esperado desse método? Use assertNull para garantir que valores nulos sejam retornados corretamente e assertNotNull para validar os casos onde o usuário é encontrado.
Exercício 4: Verificação de Listas
Você precisa implementar um método que adiciona itens a uma lista. Como você pode garantir que o item foi realmente adicionado? Utilize assertTrue para verificar se o item está presente na lista após a adição. Implemente o método adicionarItem(List lista, String item) e escreva os testes que garantam o funcionamento correto.
Exercício 5: Verificação de Exceções
Um método de divisão deve lançar uma exceção IllegalArgumentException se o divisor for 0 para evitar divisões inválidas. Como você escreveria um teste unitário que verifique se o método dividir(double a, double b) lança a exceção esperada quando o divisor é zero? Utilize assertThrows para criar os testes necessários.
Exercício 6: Verificação de Identidade
Em uma aplicação, pode ser necessário garantir que um método retorne sempre a mesma instância de um objeto, por exemplo, em um padrão de design Singleton. Como você poderia testar que o método obterInstanciaUnica() sempre retorna a mesma instância? Utilize assertSame para validar que as duas chamadas ao método retornam o mesmo objeto. Implemente o método e escreva o teste correspondente.