Como o assertThat esta depreciado, fiz o teste com AssertEquals, porem o mesmo está dando erro sendo que o retorno está correto:
Como o assertThat esta depreciado, fiz o teste com AssertEquals, porem o mesmo está dando erro sendo que o retorno está correto:
Olá, Ludmilla, como vai?
Pelo erro apresentado no teste com assertEquals, o problema parece estar relacionado ao formato da string retornada pela função formata(). Visualmente, os valores esperados e atuais parecem iguais, mas pode haver diferenças sutis, possivelmente causadas por caracteres invisíveis, como espaços extras ou diferenças na codificação do texto.
Para resolver isso, recomendo verificar e ajustar os seguintes pontos:
1 - Remova espaços extras:
Garanta que a string retornada e a esperada não tenham espaços desnecessários. Você pode usar o método .trim() para eliminar espaços no início e no fim das strings:
assertEquals("R$ 200,00", moedaFormatada.trim());
2 - Verifique a codificação:
Certifique-se de que o método formata() da classe FormatadorDeMoeda está configurado para utilizar o locale correto (Brasil). Utilize NumberFormat para garantir o formato apropriado, algo como o trecho abaixo:
import java.text.NumberFormat;
import java.util.Locale;
public class FormatadorDeMoeda {
public String formatar(double valor) {
NumberFormat formatoBrasileiro = NumberFormat.getCurrencyInstance(new Locale("pt", "BR"));
return formatoBrasileiro.format(valor);
}
}
3 - Teste a saída diretamente:
Para confirmar que o problema não é causado pelo assertEquals, imprima os valores das strings no console e compare diretamente:
System.out.println("Esperado: " + "R$ 200,00");
System.out.println("Atual: " + moedaFormatada);
4 - Alternativa com assertTrue:
Caso o problema persista, utilize assertTrue para comparar os valores de forma mais flexível:
assertTrue("R$ 200,00".equals(moedaFormatada.trim()));
Espero ter ajudado!
Siga firme nos seus estudos e conte com o fórum sempre que precisar!
Abraços :)
Fiz todas as tratativas acima sugeridas, porém continua dando o mesmo resultado. Quando cliquei para ver a diferença, aparece isso: