diff --git a/Desafios/Arrays/desafio-arrays-01.js b/Desafios/Arrays/desafio-arrays-01.js index 5bbe691..530f150 100644 --- a/Desafios/Arrays/desafio-arrays-01.js +++ b/Desafios/Arrays/desafio-arrays-01.js @@ -7,8 +7,17 @@ Escreva um algoritmo que recebe um array de números inteiros, procure o maior v */ function getMaxNumber(numbers) { - // Desenvolva seu código nessa função - return // Retorne o resultado aqui + let number = numbers[0]; + let maiorNumero; + for (let index = 0; index < numbers.length; index++) { + const element = numbers[index]; + if(numbers[index] > number){ + number = numbers[index] + } + } + return number; } +console.log(getMaxNumber([ 2,34,5,1,2])); + module.exports = getMaxNumber; diff --git a/Desafios/Arrays/desafio-arrays-02.js b/Desafios/Arrays/desafio-arrays-02.js index 9f275f7..c4bd0c4 100644 --- a/Desafios/Arrays/desafio-arrays-02.js +++ b/Desafios/Arrays/desafio-arrays-02.js @@ -7,8 +7,16 @@ Escreva um algoritmo que recebe um array de números inteiros, procure o menor v */ function getMinNumber(numbers) { + let teste; + let n = numbers[0]; + for (const number of numbers) { + if(numbers[number] < n){ + n = numbers[number] + } + } // Desenvolva seu código nessa função - return // Retorne o resultado aqui + return n; } +console.log(getMinNumber([24,15,14,13,44,1,44,55])) module.exports = getMinNumber; diff --git a/Desafios/Desafiadores/Gabaritos/11-16.js b/Desafios/Desafiadores/Gabaritos/11-16.js index b660538..e61bceb 100644 --- a/Desafios/Desafiadores/Gabaritos/11-16.js +++ b/Desafios/Desafiadores/Gabaritos/11-16.js @@ -52,6 +52,7 @@ function fibonnaci(n) { return fib[n - 1]; } +/* 14 - Soma de números primos */ function isPrimo(number) { if (number <= 1) return false; @@ -62,7 +63,6 @@ function isPrimo(number) { return true; } -/* 14 - Soma de números primos */ function sumPrimesNumbers() { let sum = 0; for (let index = 1; index <= 150; index += 1) { @@ -95,6 +95,8 @@ function meanFactorialFromAToB(a, b) { return parseFloat((sum / (b - a + 1)).toFixed(2)); } +/* 16 - Validação de CPF */ + function calcCpfFirstDigit(cpfArray) { const sum = cpfArray .slice(0, 9) @@ -116,7 +118,7 @@ function calcCpfSecondDigit(cpfArray) { return rest; } -/* 16 - Validação de CPF */ + function cpfValidator(cpf) { const cpfArray = cpf .replace(/[^0-9]/g, "") diff --git a/Desafios/Desafiadores/desafiador-011.js b/Desafios/Desafiadores/desafiador-011.js index e583863..009978c 100644 --- a/Desafios/Desafiadores/desafiador-011.js +++ b/Desafios/Desafiadores/desafiador-011.js @@ -42,7 +42,7 @@ Saída: */ -function musicalNotes3(notes){ +function musicalNotes3(arrNotes){ // Desenvolva seu código nessa função } diff --git a/Desafios/Destructuring e HOFs/Gabaritos/1-6.js b/Desafios/Destructuring e HOFs/Gabaritos/1-6.js index 9e329e5..73d76f2 100644 --- a/Desafios/Destructuring e HOFs/Gabaritos/1-6.js +++ b/Desafios/Destructuring e HOFs/Gabaritos/1-6.js @@ -34,17 +34,17 @@ const getBandsName = () => { // 4 - Filtre e retorne um array apenas com o nome das bandas que são dos Estados Unidos const usaFilter = () => { - usaBands = data.bands.filter((band) => band.country = 'United States') + const usaBands = data.bands.filter((band) => band.country = 'United States') .map(({ bandName }) => bandName); return usaBands; } -// 5 - Filtre e retorne um array com as informações das bandas que contenham 'Rock' no gênero musical +// 5 - Filtre e retorne um array com os nomes das bandas que contenham 'Rock' no gênero musical const rockFilter = () => { - const bandsGenre = data.bands.filter((band) => band.genre.includes('Rock')); - + const bandsGenre = data.bands.filter((band) => band.genre.includes('Rock')).map(band => band.bandName) + return bandsGenre; } // 6 - Filtre e retorne um array com todos os álbuns que possuem nota igual a 100 diff --git a/Desafios/Destructuring e HOFs/desafio-hofs-05.js b/Desafios/Destructuring e HOFs/desafio-hofs-05.js index d7191ae..c18b0ed 100644 --- a/Desafios/Destructuring e HOFs/desafio-hofs-05.js +++ b/Desafios/Destructuring e HOFs/desafio-hofs-05.js @@ -1,6 +1,6 @@ const data = require('./data'); -// 5 - Filtre e retorne um array com as informações das bandas que contenham 'Rock' no gênero musical +// 5 - Filtre e retorne um array com os nomes das bandas que contenham 'Rock' no gênero musical const rockFilter = () => { diff --git a/Desafios/Destructuring e HOFs/index.js b/Desafios/Destructuring e HOFs/index.js new file mode 100644 index 0000000..2e39fdb --- /dev/null +++ b/Desafios/Destructuring e HOFs/index.js @@ -0,0 +1,15 @@ +const getBandsInformation = require('./desafio-hofs-01.js'); +const getBestAlbuns = require('./desafio-hofs-02.js'); +const getBandsName = require('./desafio-hofs-03.js'); +const usaFilter = require('./desafio-hofs-04.js'); +const rockFilter = require('./desafio-hofs-05.js'); +const highestRatingFilter = require('./desafio-hofs-06.js'); + +module.exports = { + getBandsInformation, + getBestAlbuns, + getBandsName, + usaFilter, + rockFilter, + highestRatingFilter +}; diff --git a/Desafios/Estruturas Condicionais/Gabaritos/1-10.js b/Desafios/Estruturas Condicionais/Gabaritos/1-10.js index fe5b18b..62bfdbb 100644 --- a/Desafios/Estruturas Condicionais/Gabaritos/1-10.js +++ b/Desafios/Estruturas Condicionais/Gabaritos/1-10.js @@ -84,18 +84,18 @@ function robotFriend(mon, dad, me, brother, sister) { } /* 06 - Taxa Metabólica Basal */ -function basalMetabolicRate(age, sex, weight, heigh) { - let bmr; +function basalMetabolicRate(age, sex, weight, height) { + let metabolicRate; if (sex === "M") { - bmr = heigh * 6.25 + weight * 9.99 - age * 4.92 + 5; + metabolicRate = height * 6.25 + weight * 9.99 - age * 4.92 + 5; } if (sex === "F") { - bmr = heigh * 6.25 + weight * 9.99 - age * 4.92 - 161; + metabolicRate = height * 6.25 + weight * 9.99 - age * 4.92 - 161; } - return `A taxa metabólica basal é: ${bmr} Kcal.`; + return `A taxa metabólica basal é: ${metabolicRate} Kcal.`; } /* 07 - Maior ou menor de idade */ diff --git "a/Desafios/Estruturas de Repeti\303\247\303\265es/desafio-estrutura-repeticoes-07.js" "b/Desafios/Estruturas de Repeti\303\247\303\265es/desafio-estrutura-repeticoes-07.js" index 8123d08..9dd7d1c 100644 --- "a/Desafios/Estruturas de Repeti\303\247\303\265es/desafio-estrutura-repeticoes-07.js" +++ "b/Desafios/Estruturas de Repeti\303\247\303\265es/desafio-estrutura-repeticoes-07.js" @@ -11,7 +11,7 @@ Caso não encontre o elemento, retorne: */ -function findIndexOf(){ +function findIndexOf(array, element){ // Desenvolva seu código nessa função } diff --git "a/Desafios/Estruturas de Repeti\303\247\303\265es/index.js" "b/Desafios/Estruturas de Repeti\303\247\303\265es/index.js" index f98fd95..3a4753c 100644 --- "a/Desafios/Estruturas de Repeti\303\247\303\265es/index.js" +++ "b/Desafios/Estruturas de Repeti\303\247\303\265es/index.js" @@ -6,7 +6,7 @@ const numbersDivisibleBy3 = require('./desafio-estrutura-repeticoes-05'); const oddNumbers = require('./desafio-estrutura-repeticoes-06'); const findIndexOf = require('./desafio-estrutura-repeticoes-07'); const sortDec = require('./desafio-estrutura-repeticoes-08'); -const includesInArrays = require('./desafio-estrutura-repeticoes-09'); +const includesArrays = require('./desafio-estrutura-repeticoes-09'); module.exports ={ encode, @@ -17,5 +17,5 @@ module.exports ={ oddNumbers, findIndexOf, sortDec, - includesInArrays, + includesArrays, } diff --git a/Desafios/Objetos/Gabaritos/1-5.js b/Desafios/Objetos/Gabaritos/1-5.js index 61ee582..52115c1 100644 --- a/Desafios/Objetos/Gabaritos/1-5.js +++ b/Desafios/Objetos/Gabaritos/1-5.js @@ -96,8 +96,6 @@ function fantasyGame3(className, level) { return `${role}, nível ${level}: ${totalLifePoints}PV, ${equipment}.`; } -console.log(fantasyGame3("Cavaleiro", 2)); - module.exports = { fantasyGame, fantasyGame2, diff --git "a/Desafios/Operadores Aritm\303\251ticos/Gabaritos/11-20.js" "b/Desafios/Operadores Aritm\303\251ticos/Gabaritos/11-20.js" index 3b51168..a078380 100644 --- "a/Desafios/Operadores Aritm\303\251ticos/Gabaritos/11-20.js" +++ "b/Desafios/Operadores Aritm\303\251ticos/Gabaritos/11-20.js" @@ -1,10 +1,4 @@ /* 11 - Loja de ração */ -function formatBrazilianMoney(number) { - const beforeComma = Math.floor(number); - let afterComma = Math.round(number * 100 - beforeComma * 100); - afterComma = afterComma !== 0 ? afterComma : `00`; - return `${beforeComma},${afterComma}`; -} function paymentOptions(price) { let inCash = price - price * 0.1; let creditCard = price + price * 0.15; @@ -17,12 +11,12 @@ function weightAndValue(priceKg, plateWeight) { return `O prato de ${plateWeight} gramas custa: R$ ${totalPrice}`; } +/* 13 - Cor aleatória */ function generateOneColor() { let uniqueColor = Math.floor(Math.random() * 256); return uniqueColor; } -/* 13 - Cor aleatória */ function randomRGBColor() { let finalColor = `rgb(${generateOneColor()}, ${generateOneColor()}, ${generateOneColor()})`; return finalColor; @@ -56,6 +50,13 @@ function randomBoolean() { } /* 17 - Financiamento de veículo */ +function formatBrazilianMoney(number) { + const beforeComma = Math.floor(number); + let afterComma = Math.round(number * 100 - beforeComma * 100); + afterComma = afterComma !== 0 ? afterComma : `00`; + return `${beforeComma},${afterComma}`; +} + function carFinancing(carPrice, entranceValue, quota) { let financing = carPrice - entranceValue; let tax = 0.05; diff --git "a/Desafios/Operadores Aritm\303\251ticos/desafio-operadores-aritmeticos-012.js" "b/Desafios/Operadores Aritm\303\251ticos/desafio-operadores-aritmeticos-012.js" index 3b1b6ef..0e1758f 100644 --- "a/Desafios/Operadores Aritm\303\251ticos/desafio-operadores-aritmeticos-012.js" +++ "b/Desafios/Operadores Aritm\303\251ticos/desafio-operadores-aritmeticos-012.js" @@ -15,7 +15,7 @@ Obs: O valor do prato tem que ter duas casas decimais após a virgula. */ -function weightAndValue(price, gram) { +function weightAndValue(priceKg, plateWeight) { // Desenvolva seu código nessa função } diff --git "a/Desafios/Operadores Aritm\303\251ticos/desafio-operadores-aritmeticos-014.js" "b/Desafios/Operadores Aritm\303\251ticos/desafio-operadores-aritmeticos-014.js" index 81f1fb0..72becb9 100644 --- "a/Desafios/Operadores Aritm\303\251ticos/desafio-operadores-aritmeticos-014.js" +++ "b/Desafios/Operadores Aritm\303\251ticos/desafio-operadores-aritmeticos-014.js" @@ -10,7 +10,7 @@ Escreva um algoritmo que recebe a duração total de uma viagem em minutos e ret */ -function timeTravel(minutes){ +function timeTravel(totalMinutes){ // Desenvolva seu código nessa função } diff --git "a/Desafios/Operadores Aritm\303\251ticos/desafio-operadores-aritmeticos-06.js" "b/Desafios/Operadores Aritm\303\251ticos/desafio-operadores-aritmeticos-06.js" index 9f1a2ba..a3732d1 100644 --- "a/Desafios/Operadores Aritm\303\251ticos/desafio-operadores-aritmeticos-06.js" +++ "b/Desafios/Operadores Aritm\303\251ticos/desafio-operadores-aritmeticos-06.js" @@ -12,7 +12,7 @@ Escreva o algoritmo usado por André para calcular seu próprio IMC e o retorne. */ -function IMC(base, height){ +function IMC(weight, height){ // Desenvolva seu código nessa função } diff --git "a/Desafios/Operadores Aritm\303\251ticos/desafio-operadores-aritmeticos-08.js" "b/Desafios/Operadores Aritm\303\251ticos/desafio-operadores-aritmeticos-08.js" index 4ab6216..f2fbd83 100644 --- "a/Desafios/Operadores Aritm\303\251ticos/desafio-operadores-aritmeticos-08.js" +++ "b/Desafios/Operadores Aritm\303\251ticos/desafio-operadores-aritmeticos-08.js" @@ -5,6 +5,7 @@ Escreva um algoritmo que recebe o valor de um prato, calcule e retorne o valor final dele acrescendo 10% de taxa por ser uma área turística e mais 5% de gorjeta para o garçon. Obs: Retornar um valor do tipo number com duas casa decimais. +Obs2: Dependendo do método usado para arredondar o tipo da sua variável, o valor retornado pode mudar, e aqui o retorno DEVE ser do tipo NUMBER. Talvez seja preciso converter para number ao final. */ diff --git "a/Desafios/Operadores Aritm\303\251ticos/index.js" "b/Desafios/Operadores Aritm\303\251ticos/index.js" index 7780f63..c916860 100644 --- "a/Desafios/Operadores Aritm\303\251ticos/index.js" +++ "b/Desafios/Operadores Aritm\303\251ticos/index.js" @@ -7,7 +7,7 @@ const IMC = require('./desafio-operadores-aritmeticos-06') const readingTime = require('./desafio-operadores-aritmeticos-07') const restaurantExpenses = require('./desafio-operadores-aritmeticos-08') const celsiusToFahrenheit = require('./desafio-operadores-aritmeticos-09') -const fahrenheitToCelsius = require('./desafio-operadores-aritmeticos-01') +const fahrenheitToCelsius = require('./desafio-operadores-aritmeticos-010') const paymentOptions = require('./desafio-operadores-aritmeticos-011') const weightAndValue = require('./desafio-operadores-aritmeticos-012') const randomRGBColor = require('./desafio-operadores-aritmeticos-013') diff --git a/Desafios/Strings/Gabaritos/10.js b/Desafios/Strings/Gabaritos/10.js new file mode 100644 index 0000000..7d60b0d --- /dev/null +++ b/Desafios/Strings/Gabaritos/10.js @@ -0,0 +1,19 @@ +function telephoneFormat(string) { + //se não for válido retorna a própria variável + if (!string) return string; + //converte para string + if (typeof string === "number") string = string.toString(); + //remove tudo que não for número + string = string.replace(/[^0-9]/g, ""); + if (string.length < 10 || string.length > 11){ + //se tiver menos largura que 10 ou mais de 11, é inválido + return string; + } + const regex = /^([0-9]{2})([0-9]?)([0-9]{4})([0-9]{4})$/gm; + const subst = `($1) $2 $3-$4`; + //aplica o regex de formatação e remove espaços duplicados causados + //pela possível ausência do dígito 9 antes do número + return string.replace(regex, subst).replace(' ',' '); +} + +module.exports = telephoneFormat; diff --git a/Desafios/Strings/desafio-strings-03.js b/Desafios/Strings/desafio-strings-03.js index c183f02..c44d7ce 100644 --- a/Desafios/Strings/desafio-strings-03.js +++ b/Desafios/Strings/desafio-strings-03.js @@ -10,13 +10,13 @@ Entradas: "João","Carvalho', 25 Saída: -"Meu nome é João Carvalho e tenho 25 anos de vida" +"Meu nome é João Carvalho e tenho 25 anos de vida." --------------------------------------------------- */ function personalPresentation(firstName, lastName, age) { - // Desenvolva seu código nessa função + } module.exports = personalPresentation; diff --git a/Desafios/Strings/desafio-strings-10.js b/Desafios/Strings/desafio-strings-10.js new file mode 100644 index 0000000..304b58d --- /dev/null +++ b/Desafios/Strings/desafio-strings-10.js @@ -0,0 +1,26 @@ +/* + +10 - Telefone desconfigurado + +Um banco de dados possui uma série de números de telefone, mas cada um com um padrão diferente. +Alguns têm espaço, outros não, alguns sem traço, outros não, alguns com parênteses, outros não, +e toda sorte de combinações possíveis e imagináveis. + +Crie uma função que receba um número de telefone desconfigurado +e retorne o número de telefone formatado, com suporte ao dígito 9 +de prefixo nos celulares, mas funcionando normalmente sem esse prefixo. + +O que será avaliado? +- Ao enviar como parâmetro 11 97878-7878 a função deve retornar (11) 9 7878-7878; +- Se o parâmetro for (11)78787878 a função deve retornar (11) 7878-7878; +- Se o parâmetro for 1178787878 a função deve retornar (11) 7878-7878; +- E se não for um número de telefone válido a função deve retornar o parâmetro; logo: +- Se o parâmetro for 234 a função deve retornar 237; + +*/ + +function telephoneFormat(string) { + // Desenvolva seu código nessa função +} + +module.exports = telephoneFormat; diff --git a/Desafios/Strings/index.js b/Desafios/Strings/index.js index 7802063..747ee96 100644 --- a/Desafios/Strings/index.js +++ b/Desafios/Strings/index.js @@ -7,6 +7,7 @@ const dogName = require("./desafio-strings-06") const includeA = require("./desafio-strings-07") const countLetters = require("./desafio-strings-08") const encodeMessage = require("./desafio-strings-09") +const telephoneFormat = require("./desafio-strings-10") module.exports = { reverseNames, @@ -18,4 +19,5 @@ module.exports = { includeA, countLetters, encodeMessage, + telephoneFormat, } diff --git a/test/destructuringEHofs.test.js b/test/destructuringEHofs.test.js index 4389418..7fd751d 100644 --- a/test/destructuringEHofs.test.js +++ b/test/destructuringEHofs.test.js @@ -5,24 +5,58 @@ const { usaFilter, rockFilter, highestRatingFilter, -} = require('../Desafios/Destructuring e HOFs'); +} = require("../Desafios/Destructuring e Hofs/"); describe("Desafios de Destructuring e HOFs.", () => { describe("01 - Testando a Função getBandsInformation.", () => { - it("O retorno da função deve ser um array", () => { - expect(getBandsInformation()).toBe('object'); + it("Retorne true caso o retorno da função seja um array", () => { + expect(Array.isArray(getBandsInformation())).toBeTruthy(); }); it("O retorno da função deve ser o array esperado", () => { const expectedArray = [ { bandName: 'Radiohead', - bestAlbuns: [[Object], [Object], [Object], [Object]], + bestAlbuns: [ + { + name: "In Rainbows", + rate: 100 + }, + { + name: "Kid A", + rate: 95 + }, + { + name: "OK Computer", + rate: 90 + }, + { + name: "Pablo Honey", + rate: 80 + } + ], genre: 'Rock', country: 'England' }, { bandName: 'Avenged Sevenfold', - bestAlbuns: [[Object], [Object], [Object], [Object]], + bestAlbuns: [ + { + name: "City of Evil", + rate: 99 + }, + { + name: "Avenged Sevenfold", + rate: 98 + }, + { + name: "Sounding the Seventh Trumpet", + rate: 95 + }, + { + name: "Diamonds in the Rough", + rate: 80 + } + ], genre: 'Hard Rock', country: 'United States' } @@ -33,17 +67,17 @@ describe("Desafios de Destructuring e HOFs.", () => { describe("02 - Testando a Função getBestAlbuns.", () => { it("O retorno da função deve ser uma string", () => { - expect(getBestAlbuns()).toBe('string'); + expect(typeof getBestAlbuns()).toBe('string'); }); it("O retorno da função deve ser a tring esperado", () => { - const expectedString = 'Os Melhores álbuns do Radiohead: In Rainbows,Kid A,OK Computer,Pablo Honey' + const expectedString = 'Os melhores álbuns do Radiohead: In Rainbows,Kid A,OK Computer,Pablo Honey' expect(getBestAlbuns()).toEqual(expectedString); }); }); describe("03 - Testando a Função getBandsName.", () => { - it("O retorno da função deve ser um array", () => { - expect(getBandsName()).toBe('object'); + it("Retorne true caso o retorno da função seja um array", () => { + expect(Array.isArray(getBandsName())).toBeTruthy(); }); it("O retorno da função deve ser o array esperado", () => { const expectedArray = [ @@ -60,7 +94,7 @@ describe("Desafios de Destructuring e HOFs.", () => { describe("04 - Testando a Função usaFilter.", () => { it("O retorno da função deve ser um array", () => { - expect(usaFilter()).toBe('object'); + expect(typeof usaFilter()).toBe('object'); }); it("O retorno da função deve ser o array esperado", () => { const expectedArray = [ @@ -77,54 +111,24 @@ describe("Desafios de Destructuring e HOFs.", () => { describe("05 - Testando a Função rockFilter.", () => { it("O retorno da função deve ser um array", () => { - expect(rockFilter()).toBe('object'); + expect(Array.isArray(rockFilter())).toBeTruthy(); }); - it("O retorno da função deve ser o array esperado", () => { + it("O retorno da função deve ser o array com o nome de todas as bandas", () => { const expectedArray = [ - { - bandName: 'Radiohead', - bestAlbuns: [[Object], [Object], [Object], [Object]], - genre: 'Rock', - country: 'England' - }, - { - bandName: 'Avenged Sevenfold', - bestAlbuns: [[Object], [Object], [Object], [Object]], - genre: 'Hard Rock', - country: 'United States' - }, - { - bandName: 'Arctic Monkeys', - bestAlbuns: [[Object], [Object], [Object], [Object]], - genre: 'Indie Rock', - country: 'England' - }, - { - bandName: 'Pink Floyd', - bestAlbuns: [[Object], [Object], [Object], [Object]], - genre: 'Progressive Rock', - country: 'England' - }, - { - bandName: 'Foo Fighters', - bestAlbuns: [[Object], [Object], [Object], [Object]], - genre: 'Rock', - country: 'United States' - }, - { - bandName: 'Red Hot Chili Peppers', - bestAlbuns: [[Object], [Object], [Object], [Object]], - genre: 'Rock', - country: 'United States' - } + 'Radiohead', + 'Avenged Sevenfold', + 'Arctic Monkeys', + 'Pink Floyd', + 'Foo Fighters', + 'Red Hot Chili Peppers' ] expect(rockFilter()).toEqual(expectedArray); }); }); describe("06 - Testando a Função highestRatingFilter.", () => { - it("O retorno da função deve ser um array", () => { - expect(highestRatingFilter()).toBe('object'); + it("Retorne true caso o retorno da função seja um array", () => { + expect(Array.isArray(highestRatingFilter())).toBeTruthy(); }); it("O retorno da função deve ser o array esperado", () => { const expectedArray = [ diff --git a/test/estruturasCondicionais.test.js b/test/estruturasCondicionais.test.js index 6a4f47c..a0960df 100644 --- a/test/estruturasCondicionais.test.js +++ b/test/estruturasCondicionais.test.js @@ -411,19 +411,19 @@ describe("Desafios de Estruturas Condicionais.", () => { it("Ao passar os argumentos 10, 10, 5, 5, deve retornar: 'Mara venceu com 40 pontos'", () => { expect(cardsGame(10, 10, 5, 5)).toBe("Mara venceu com 40 pontos"); }); - it("Ao passar os argumentos 10, 10, 5, 5, deve retornar: 'Mara venceu com 63 pontos'", () => { + it("Ao passar os argumentos 10, 11, 11, 115, deve retornar: 'Mara venceu com 63 pontos'", () => { expect(cardsGame(10, 11, 11, 11)).toBe("Mara venceu com 63 pontos"); }); - it("Ao passar os argumentos 10, 10, 5, 5, deve retornar: 'Sara venceu com 40 pontos'", () => { + it("Ao passar os argumentos 5, 5, 10, 10, deve retornar: 'Sara venceu com 40 pontos'", () => { expect(cardsGame(5, 5, 10, 10)).toBe("Sara venceu com 40 pontos"); }); - it("Ao passar os argumentos 10, 10, 5, 5, deve retornar: 'Sara venceu com 69 pontos'", () => { + it("Ao passar os argumentos 2, 12, 11, 12, deve retornar: 'Sara venceu com 69 pontos'", () => { expect(cardsGame(12, 12, 11, 12)).toBe("Sara venceu com 69 pontos"); }); - it("Ao passar os argumentos 10, 10, 5, 5, deve retornar: 'O jogo empatou'", () => { + it("Ao passar os argumentos 12, 12, 12, 12, deve retornar: 'O jogo empatou'", () => { expect(cardsGame(12, 12, 12, 12)).toBe("O jogo empatou"); }); - it("Ao passar os argumentos 10, 10, 5, 5, deve retornar: 'O jogo empatou'", () => { + it("Ao passar os argumentos 11, 12, 11, 12, deve retornar: 'O jogo empatou'", () => { expect(cardsGame(11, 12, 11, 12)).toBe("O jogo empatou"); }); }); diff --git a/test/operadoresAritmeticos.test.js b/test/operadoresAritmeticos.test.js index 6adbc36..f557bab 100644 --- a/test/operadoresAritmeticos.test.js +++ b/test/operadoresAritmeticos.test.js @@ -116,7 +116,7 @@ describe("Desafios de Operadores Aritméticos.", () => { describe(" 06 - Testando a Função IMC.", () => { const height = +`1.${getRandomInt(40, 99)}` const weight = getRandomInt(40, 120); - const imc = (height * height) / weight; + const imc = (height * height) / weight; it("Ao passar os argumentos 70 e 1.8 , deve retornar: 0.04628571428571429", () => { expect(IMC(70, 1.8)).toBe(0.04628571428571429); }); diff --git a/test/strings.test.js b/test/strings.test.js index b618d09..f16e59e 100644 --- a/test/strings.test.js +++ b/test/strings.test.js @@ -12,7 +12,9 @@ const { includeA, countLetters, encodeMessage, -} = require("../Desafios/Strings/Gabaritos/1-9"); */ +} = require("../Desafios/Strings/Gabaritos/1-9"); +telephoneFormat = require("../Desafios/Strings/Gabaritos/10"); +*/ const { reverseNames, @@ -24,6 +26,7 @@ const { includeA, countLetters, encodeMessage, + telephoneFormat, } = require("../Desafios/Strings"); describe("Desafios de Strings.", () => { @@ -75,7 +78,7 @@ describe("Desafios de Strings.", () => { }); }); - only("07 - Testando a Função includeA.", () => { + describe("07 - Testando a Função includeA.", () => { it(`Ao passar o argumento 'Coragem', deve retornar: 'A palavra Coragem possui a letra 'a', porém não é a primeira nem a última letra.'`, () => { expect(includeA("Coragem")).toBe( @@ -132,7 +135,7 @@ describe("Desafios de Strings.", () => { }); }); - describe("09- Testando a Função encodeMessage.", () => { + describe("09 - Testando a Função encodeMessage.", () => { it("Ao passar o argumento 'aeiou', deve retornar: '5b9p1'", () => { expect(encodeMessage("aeiou")).toBe("5b9p1"); }); @@ -140,4 +143,19 @@ describe("Desafios de Strings.", () => { expect(encodeMessage(test9)).toBe(resp9); }); }); + + describe("10 - Testando a Função telephoneFormat.", () => { + it("Ao passar o argumento '11 97878-7878', deve retornar: '(11) 9 7878-7878'", () => { + expect(telephoneFormat("11 97878-7878")).toBe("(11) 9 7878-7878"); + }); + it("Ao passar o argumento '(11)78787878', deve retornar: '(11) 7878-7878'", () => { + expect(telephoneFormat("(11)7878-7878")).toBe("(11) 7878-7878"); + }); + it("Ao passar o argumento 1178787878, deve retornar: '(11) 7878-7878'", () => { + expect(telephoneFormat(1178787878)).toBe("(11) 7878-7878"); + }); + it("Ao passar um argumento inválido o mesmo deve ser retornado", () => { + expect(telephoneFormat("234")).toBe("234"); + }); + }); });