- A aplicação divide o valor total resultante de uma lista de compras em uma lista de emails.
- A aplicação é composta das seguintes partes:
- model: contém o arquivo item.go, que representa a entidade principal da aplicação.
- service: contém o arquivo item-service.go, que contém as regras de serviço da entidade item.
- util: contém os arquivos gerador-de-emails.go e gerador-de-itens.go, que auxiliam na criação de testes/casos para a aplicação.
- Testify: github.com/stretchr/testify
- Randstr: github.com/thanhpk/randstr
⚠ Ter o Docker instalado.
- Clonar o repositório:
git clone https://github.com/Alberto-Pereira/Desafio-Tecnico.git
- Acessar o diretório clonado:
cd Desafio-Tecnico
- Fazer a build da aplicação:
docker build -t docker-desafio-tecnico .
- Iniciar a aplicação:
docker run docker-desafio-tecnico
- Clonar o repositório:
git clone https://github.com/Alberto-Pereira/Desafio-Tecnico.git
- Acessar o diretório clonado:
cd Desafio-Tecnico
- Baixar as dependências da aplicação:
go get .
- Iniciar a aplicação:
go run main.go
- Copie o código e cole abaixo da linha 177 do arquivo main.go:
listaDeCompras_NomeDoCaso := []model.Item{
{Nome: "Goiaba", Quantidade: 6, Preco: 100},
{Nome: "Pneu", Quantidade: 2, Preco: 30000},
{Nome: "Lápis", Quantidade: 1, Preco: 200},
{Nome: "Vassoura", Quantidade: 2, Preco: 500},
{Nome: "Creme dental", Quantidade: 4, Preco: 250},
}
listaDeEmails_NomeDoCaso := []string{
"user1@gmail.com", "user2@gmail.com", "user3@gmail.com", "user4@gmail.com",
"user5@gmail.com", "user6@gmail.com", "user7@gmail.com", "user8@gmail.com",
}
listaEmailEValores_NomeDoCaso, isListaEmailEValoresValida_NomeDoCaso :=
service.SepararValoresPorEmail(listaDeCompras_NomeDoCaso, listaDeEmails_NomeDoCaso)
if isListaEmailEValoresValida_NomeDoCaso.Status == false {
fmt.Println("\nLista de emails e valores:")
fmt.Println(listaEmailEValores_NomeDoCaso)
}
- É possível alterar "_NomeDoCaso" para o caso que esteja criando.
- É possível alterar os valores da listaDeCompras e da listaDeEmails.