[MÚSICA] [MÚSICA] Olá a todos, estamos de volta aqui com o nosso hands-on, onde estamos fazendo aqui tradutor, certo? E eu estou aqui com o meu chapéu de TDD e agora acabamos de refatorar, né, no final do outro vídeo, a gente fez uma pequena mudança aí no nome de método e agora vamos voltar para a componente vermelha aqui do nosso chapéu de TDD para criarmos mais teste, né? Agora, né, o próximo teste que vamos criar é as duas traduções, tá? Então, eu vou aproveitar aqui, o conteúdo deste teste, tá? E vou colocar aqui vou chamar ele de duasTraducoes. Então eu adicionei aqui bom, good, e vou adicionar aqui o mau, é o bad, certo? Então eu vou, ali a questão do estar vazio ou não eu vou usar ali o do de cima, acho que não é mais necessário eu estar verificando isso, e aqui eu vou adicionar aqui essa... a nova tradução, né, se ele pedir para traduzir mau, tem que ser bad, tá? Então eu vou salvar, eu vou rodar o meu teste, vai falhar. Repare que agora, por exemplo, eu não precisei mais ir lá criar novos métodos na classe, né, eu simplesmente vou estar acrescentando métodos na classe que já existe, tá? Métodos não, eu vou estar acrescentando funcionalidades nos métodos que já existem, tá? Então eu vou, deu problema aqui, eu posso aqui que ele.. olha lá, onde era good, né, ele colocou bad. Então eu preciso vir aqui no meu tradutor e arrumar isso, tá? Então tiro o chapéu vermelho, passo para o meu chapéu verde, certo? E aí eu vou tentar fazer isso funcionar. Então já não dá mais para guardar uma variável só, eu tenho que transformar isso daqui num mapa. Então eu vou botar aqui map de string para string, né? E aqui não vou cair mais naquela armadilha, né, eu sei que ali eu vou precisar alterar isso, né? Então aqui tradução é, é... deve ter exempt aqui tem. Se ele estiver vazio, então também está vazio, aqui eu vou inicializar também outro, outra armadilha aqui para não cair. Aí então new HashMap, então salvo aqui, vamos importar também o HashMap. E aí aqui, esse tradução aqui já não, esse aqui já está errado aqui, então eu vou adicionar aqui é o put, né, na coisa, eu vou adicionar a palavra e a tradução. Então palavra, opa, e a tradução. E aqui, ao invés de simplesmente retornar, ele está como object inclusive, eu vou botar para ele retornar uma string, ele vai ter o traducao.get a palavra. Então eu salvo aqui. Vamos ver se salvou, está sem nenhum erro de compilação, eu vou rodar de novo e meu teste passou. Lembrando que ainda não vou para outro teste, não, eu vou primeiro para o meu chapeuzinho azul aqui, vamos ver o que é que pode ser melhorado. Bom, aqui. eu já vejo que tradução já não é nome adequado para uma variável que está guardando mais de uma tradução. Então eu vou vir aqui, vou dar rename e vou mudar aqui para traduções, note que quando eu mudo ali, ele muda tudo junto, tá? Então, eu vou mudar aqui para traduções, eu acho que fica melhor, nessa parte eu estou satisfeito e no meu teste aqui, eu estou repetindo sempre esse tradutor aqui. Então para não ter que repetir mais isso, eu vou refatorar também o meu teste, tá? Então quando a gente bota o chapéu azul, não quer dizer que a gente está refatorando só o código de produção, a gente pode refatorar teste também, mas lembre que refatorar o teste você não muda o que o teste está verificando, tá? Então eu vou vir aqui, botar aqui Before, né, vou criar aqui método public void criarTradutor, certo, e aí eu vou copiar isso aqui aqui para cima, né, na verdade o tradutor eu vou criar cada... toda vez, antes de cada teste, a gente viu que o Before ele roda antes de cada teste que eu vou só declarar a variável t, para poder ser usada também nos métodos ali, tá? E aí, a partir do momento que ele faz isso, eu posso retirar essa inicialização de todos os testes aqui, né? Acho que agora ficou melhor. Está faltando só importar o Before, mesmo refatorando o teste eu preciso salvar aqui e rodar os testes de novo, né? E passou, agora sim eu posso marcar aqui como OK aqui as duas traduções, tá? Bom, então nessa parte do nosso hands-on foi isso, aguardo você na próxima parte para a gente poder terminar aqui, né, seguir aqui com os nossos cenários aqui de teste, está certo? Vejo vocês no próximo. [MÚSICA]