From 8f3450dece1a1b756ff7cc09bf439037c1d9bd1a Mon Sep 17 00:00:00 2001 From: Rahana Suleiman Date: Mon, 12 Oct 2026 23:45:33 +0100 Subject: [PATCH 1/6] add fizzbuzz function and corresponding tests --- test-driven-development/fizzbuzz.js | 10 +++++++ test-driven-development/fizzbuzz.test.js | 36 ++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 test-driven-development/fizzbuzz.js create mode 100644 test-driven-development/fizzbuzz.test.js diff --git a/test-driven-development/fizzbuzz.js b/test-driven-development/fizzbuzz.js new file mode 100644 index 000000000..12198b29f --- /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 000000000..e48f23149 --- /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 From b735c485058ebf4f453b8b1f2d28e40bd42696b1 Mon Sep 17 00:00:00 2001 From: Rahana Suleiman Date: Thu, 15 Oct 2026 02:45:36 +0100 Subject: [PATCH 2/6] remove unreachable and redundant code from exercise-1.js --- dead-code/exercise-1.js | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/dead-code/exercise-1.js b/dead-code/exercise-1.js index 4d09f15fa..f257d5c6b 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!' From 47af83e214b8ea6e739fd80f798d64eab26a8642 Mon Sep 17 00:00:00 2001 From: Rahana Suleiman Date: Thu, 15 Oct 2026 02:49:35 +0100 Subject: [PATCH 3/6] remove unused code and comments from exercise-2.js --- dead-code/exercise-2.js | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/dead-code/exercise-2.js b/dead-code/exercise-2.js index 56d7887c4..d14a7cf60 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 } From f4344f1bff24d6b4f76455cd5c6a402a50c08807 Mon Sep 17 00:00:00 2001 From: Rahana Suleiman Date: Thu, 15 Oct 2026 03:05:59 +0100 Subject: [PATCH 4/6] chore: remove accidental files from other sprints --- test-driven-development/fizzbuzz.js | 10 ------- test-driven-development/fizzbuzz.test.js | 36 ------------------------ 2 files changed, 46 deletions(-) delete mode 100644 test-driven-development/fizzbuzz.js delete mode 100644 test-driven-development/fizzbuzz.test.js diff --git a/test-driven-development/fizzbuzz.js b/test-driven-development/fizzbuzz.js deleted file mode 100644 index 12198b29f..000000000 --- a/test-driven-development/fizzbuzz.js +++ /dev/null @@ -1,10 +0,0 @@ -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 deleted file mode 100644 index e48f23149..000000000 --- a/test-driven-development/fizzbuzz.test.js +++ /dev/null @@ -1,36 +0,0 @@ -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 From a95ff02b8792601542179d6b869bdb0a2fbe55ee Mon Sep 17 00:00:00 2001 From: Rahana Suleiman Date: Thu, 22 Oct 2026 22:29:43 +0100 Subject: [PATCH 5/6] remove unreachable and redundant code from exercise-1.js --- dead-code/exercise-1.js | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/dead-code/exercise-1.js b/dead-code/exercise-1.js index f257d5c6b..b2683c274 100644 --- a/dead-code/exercise-1.js +++ b/dead-code/exercise-1.js @@ -1,21 +1,6 @@ // 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"; -// 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"; From e102b1ecbe25275d69f5ad1cfbda5f3c5315721a Mon Sep 17 00:00:00 2001 From: Rahana Suleiman Date: Thu, 22 Oct 2026 22:29:51 +0100 Subject: [PATCH 6/6] remove unused and commented-out code from exercise-2.js --- dead-code/exercise-2.js | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/dead-code/exercise-2.js b/dead-code/exercise-2.js index d14a7cf60..4b999afbf 100644 --- a/dead-code/exercise-2.js +++ b/dead-code/exercise-2.js @@ -1,33 +1,6 @@ // 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 petsStartingWithH = pets.filter((pet) => pet[0] === "h");