Projeto de testes unitários em Javascript implementando funções ou testes unitários para garantir que as implementações das funções estão corretas 👻
Todos os resultados devem ser arredondados para valores inteiros. Ex: 4,6 vira 5; 1,3 vira 1. O arquivo average.spec.js
contém os testes para average
já implementados. Implemente a função no arquivo src/average.js
de forma que ela atenda aos testes propostos.
Essa função já está implementada no arquivo src/numbers.js
. Escreva pelo menos quatro testes para essa função para garantir que a implementação de numbers
está correta.
O que será testado:
`Oi, meu nome é Tunico!
Tenho 30 anos,
trabalho na Trybe e mando muito em programação!
#VQV!`
Caso a função vqv
seja chamada sem nenhum parâmetro, o valor undefined
deve ser retornado. O arquivo vqv.spec.js
contém os testes para vqv
já implementados. Implemente a função no arquivo src/vqv.js
de forma que ela atenda aos testes propostos.
Essa função já está implementada no arquivo src/circle.js
. Escreva pelo menos seis testes para essa função para garantir que a implementação de circle
está correta.
- name, contendo o nome passado como parâmetro;
- feedback, contendo uma função que retorna a frase
"Eita pessoa boa!"
ao ser chamada.
O arquivo createStudent.spec.js
contém os testes para createStudent
já implementados. Implemente a função no arquivo src/createStudent.js
de forma que ela atenda aos testes propostos.
productDetails('Alcool gel', 'Máscara');
Retorna:
[
{
name: 'Alcool gel'
details: {
productId: 'Alcool gel123'
}
},
{
name: 'Máscara'
details: {
productId: 'Máscara123'
}
}
]
Essa função já está implementada no arquivo src/productDetails.js
. Escreva pelo menos cinco testes para essa função no arquivo tests/productDetails.js
para garantir que a implementação de productDetails
está correta.
- sum; - mult; - div; - sub.
Para cada chave atribua como valor a operação correspondente à sua chave:
sum:
retorna o resultado da soma dos dois números;mult:
retorna o resultado da multiplicação dos dois números;div:
retorna o resultado da divisão dos dois números;sub:
retorna o resultado da subtração dos dois números.
Os resultados das divisões devem sempre ser arredondados para baixo.
Parâmetros:
- Dois números inteiros.
Comportamento:
calculator(1, 2); // { sum: 3, mult: 2, div: 0, sub: -1 }
Já a função arrayGenerator
converte objetos em arrays, de chaves, valores ou ambos. Ela deve receber dois parâmetros:
- o primeiro parâmetro deve ser uma string que indica o tipo de conversão;
- o segundo parâmetro deve ser um objeto semelhante ao que é retornado pela função calculator que você acabou de desenvolver.
Parâmetros:
- Uma string que indica o tipo de conversão;
- Um objeto no formato { sum: 3, mult: 2, div: 0, sub: -1 };
Comportamento:
arrayGenerator('keys', { sum: 3, mult: 2, div: 1, sub: 0 }) // [ 'sum', 'mult', 'div', 'sub' ]
arrayGenerator('values', { sum: 3, mult: 2, div: 1, sub: 0 }) // [ 3, 2, 1, 0 ]
arrayGenerator('entries', { sum: 3, mult: 2, div: 1, sub: 0 }) // [ [ 'sum', 3 ], [ 'mult', 2 ], [ 'div', 1 ], [ 'sub', 0 ] ]
O arquivo objPlayground.spec.js
contém os testes para calculator
e arrayGenerator
já implementados. Implemente as funções no arquivo src/objPlayground.js
de forma que ela atenda aos testes propostos.
Corrija a função myCounter
, sem eliminar nenhum dos loops de repetição, para que a função retorne o array correto. O arquivo myCounter.spec.js
contém os testes para myCounter
já implementados. Implemente a função no arquivo src/myCounter.js
de forma que ela atenda aos testes propostos.
getCharacter('Arya');
Retorna:
{
name: 'Arya Stark',
class: 'Rogue',
phrases: ['Not today', 'A girl has no name.']
}
Essa função já está implementada no arquivo src/getCharacter.js
. Escreva pelo menos seis testes para essa função no arquivo tests/getCharacter.spec.js
para garantir que a implementação de getCharacter
está correta.