diff --git a/dead-code/exercise-1.js b/dead-code/exercise-1.js index 4d09f15fa9..f257d5c6b6 100644 --- a/dead-code/exercise-1.js +++ b/dead-code/exercise-1.js @@ -1,17 +1,28 @@ // Find the instances of unreachable and redundant code - remove them! // The sayHello function should continue to work for any reasonable input it's given. -let testName = "Jerry"; +// let testName = "Jerry"; +// const greeting = "hello"; + +// function sayHello(greeting, name) { +// const greetingStr = greeting + ", " + name + "!"; +// return `${greeting}, ${name}!`; +// console.log(greetingStr); +// } + +// testName = "Aman"; + +// const greetingMessage = sayHello(greeting, testName); + +// console.log(greetingMessage); // 'hello, Aman!' + const greeting = "hello"; +const testName = "Aman"; function sayHello(greeting, name) { - const greetingStr = greeting + ", " + name + "!"; return `${greeting}, ${name}!`; - console.log(greetingStr); } -testName = "Aman"; - const greetingMessage = sayHello(greeting, testName); console.log(greetingMessage); // 'hello, Aman!' diff --git a/dead-code/exercise-2.js b/dead-code/exercise-2.js index 56d7887c4c..d14a7cf60d 100644 --- a/dead-code/exercise-2.js +++ b/dead-code/exercise-2.js @@ -1,14 +1,36 @@ // Remove the unused code that does not contribute to the final console log // The countAndCapitalisePets function should continue to work for any reasonable input it's given, and you shouldn't modify the pets variable. +// const pets = ["parrot", "hamster", "horse", "dog", "hamster", "cat", "hamster"]; +// const capitalisedPets = pets.map((pet) => pet.toUpperCase()); +// const petsStartingWithH = pets.filter((pet) => pet[0] === "h"); + +// function logPets(petsArr) { +// petsArr.forEach((pet) => console.log(pet)); +// } + +// function countAndCapitalisePets(petsArr) { +// const petCount = {}; + +// petsArr.forEach((pet) => { +// const capitalisedPet = pet.toUpperCase(); +// if (petCount[capitalisedPet]) { +// petCount[capitalisedPet] += 1; +// } else { +// petCount[capitalisedPet] = 1; +// } +// }); +// return petCount; +// } + +// const countedPetsStartingWithH = countAndCapitalisePets(petsStartingWithH); + +// console.log(countedPetsStartingWithH); // { 'HAMSTER': 3, 'HORSE': 1 } <- Final console log + + const pets = ["parrot", "hamster", "horse", "dog", "hamster", "cat", "hamster"]; -const capitalisedPets = pets.map((pet) => pet.toUpperCase()); const petsStartingWithH = pets.filter((pet) => pet[0] === "h"); -function logPets(petsArr) { - petsArr.forEach((pet) => console.log(pet)); -} - function countAndCapitalisePets(petsArr) { const petCount = {}; @@ -25,4 +47,4 @@ function countAndCapitalisePets(petsArr) { const countedPetsStartingWithH = countAndCapitalisePets(petsStartingWithH); -console.log(countedPetsStartingWithH); // { 'HAMSTER': 3, 'HORSE': 1 } <- Final console log +console.log(countedPetsStartingWithH); // { 'HAMSTER': 3, 'HORSE': 1 } diff --git a/test-driven-development/fizzbuzz.js b/test-driven-development/fizzbuzz.js new file mode 100644 index 0000000000..12198b29fb --- /dev/null +++ b/test-driven-development/fizzbuzz.js @@ -0,0 +1,10 @@ +function fizzbuzz(number){ + if (number % 3 === 0 && number % 5 === 0){ + return "fizzbuzz"; + } else if (number % 5 === 0){ + return "buzz"; + } else if (number % 3 === 0){ + return "fizz"; + } + return number.toString(); +}; \ No newline at end of file diff --git a/test-driven-development/fizzbuzz.test.js b/test-driven-development/fizzbuzz.test.js new file mode 100644 index 0000000000..e48f231494 --- /dev/null +++ b/test-driven-development/fizzbuzz.test.js @@ -0,0 +1,36 @@ +import {fizzbuzz} from './fizzbuzz.js'; +import assert from 'node:assert'; +import {test, describe} from 'node:test'; + +describe('division by 3 and 5', () => { + + test('15 returns fizzbuzz', () => { + assert.equal(fizzbuzz(15), "fizzbuzz"); + }); + + test('30 returns fizzbuzz', () => { + assert.equal(fizzbuzz(30), "fizzbuzz"); + }); + + test('90 returns fizzbuzz', () => { + assert.equal(fizzbuzz(90), "fizzbuzz"); + }); + +}); + + +describe('returning the number as a string', () => { + + test('1 returns "1"', () => { + assert.equal(fizzbuzz(1), "1"); + }); + + test('4 returns "4"', () => { + assert.equal(fizzbuzz(4), "4"); + }); + + test('91 returns "91"', () => { + assert.equal(fizzbuzz(91), "91"); + }); + +}); \ No newline at end of file