From 184d5b2c3ac1f57418b9bf4adc217572f8b980f2 Mon Sep 17 00:00:00 2001 From: Shahid Amin Date: Sat, 25 Feb 2023 13:40:04 +0000 Subject: [PATCH 1/4] mandatory file completed --- mandatory/1-fix-functions.js | 10 ++--- mandatory/2-function-creation.js | 76 ++++++++++++++++++++++++-------- 2 files changed, 63 insertions(+), 23 deletions(-) diff --git a/mandatory/1-fix-functions.js b/mandatory/1-fix-functions.js index 6323604f..fd575cff 100644 --- a/mandatory/1-fix-functions.js +++ b/mandatory/1-fix-functions.js @@ -10,8 +10,8 @@ */ -function getMood() { - let isHappy = true; +function getMood(isHappy) { + //let isHappy = true; if (isHappy) { return "I am happy"; @@ -20,10 +20,10 @@ function getMood() { } } -function greaterThan10(num) { - let isBigEnough; +function greaterThan10(isBigEnough) { + //let isBigEnough; - if (isBigEnough) { + if (isBigEnough > 10) { return "num is greater than 10"; } else { return "num is not big enough"; diff --git a/mandatory/2-function-creation.js b/mandatory/2-function-creation.js index d4590920..2e01f65f 100644 --- a/mandatory/2-function-creation.js +++ b/mandatory/2-function-creation.js @@ -4,7 +4,13 @@ 1. the user should be 18 or older 2. the user must be logged in */ -function isAcceptableUser(userAge, isLoggedIn) {} +function isAcceptableUser(userAge, isLoggedIn) { + if (userAge >= 18 && isLoggedIn ==== true) { + return true; + } else { + return false; + } +} /* Complete the function to apply discount percent based on how much is totalPrice in user cart. @@ -15,18 +21,39 @@ function isAcceptableUser(userAge, isLoggedIn) {} is applieds and 142.5 should be returned) */ -function applyDiscount(totalPrice) {} +function applyDiscount(totalPrice) { + if (totalPrice < 200) { + return totalPrice * 0.95; + } else if (totalPrice >= 200) { + return totalPrice * 0.9; + } +} /* Complete the function to print to the console the odd numbers between 1 and limit (use a while loop): */ -function printOddNumbers(limit) {} +function printOddNumbers(limit) { + let count = 1; + + while (count <= limit) { + if (count % 2 === 1){ + console.log(count); + } + count = count + 1; + } +} /* Complete the buyTwoGetTheCheapestFree function: if user buys two items, the cheapest item will be free! The function should return the price to be paid once the discount is applied. */ -function buyTwoGetTheCheapestFree(price1, price2) {} +function buyTwoGetTheCheapestFree(price1, price2) { + if (price1 > price2) { + return price1; + } else { + return price2; + } +} /* Complete the function to determine if it is suitable for a person to register based on their age! @@ -34,7 +61,15 @@ function buyTwoGetTheCheapestFree(price1, price2) {} - if the person is older than 12 and younger than 90 it should return "You Can Register" - if the person is 90 or older it should return "You Don't Need To Register" */ -function canRegister(age) {} +function canRegister(age) { + if (age <= 12) { + return 'You Are Too Young To Register'; + } else if (age >= 90) { + return "You Don't Need To Register"; + } else { + return "You Can Register"; + } +} /* Complete the function so that it prints out to the console numbers in reverse order starting at @@ -45,7 +80,12 @@ function canRegister(age) {} ) */ -function countReverse(number) {} +function countReverse(number) { + while (number > 0) { + console.log (number); + number = number -1; + } +} /* ======= TESTS - DO NOT MODIFY ===== */ @@ -90,11 +130,11 @@ describe("printOddNumbers", () => { const consoleLogSpy = jest.spyOn(console, "log"); printOddNumbers(10); - expect(consoleLogSpy).toHaveBeenNthCalledWith(1,1); - expect(consoleLogSpy).toHaveBeenNthCalledWith(2,3); - expect(consoleLogSpy).toHaveBeenNthCalledWith(3,5); - expect(consoleLogSpy).toHaveBeenNthCalledWith(4,7); - expect(consoleLogSpy).toHaveBeenNthCalledWith(5,9); + expect(consoleLogSpy).toHaveBeenNthCalledWith(1, 1); + expect(consoleLogSpy).toHaveBeenNthCalledWith(2, 3); + expect(consoleLogSpy).toHaveBeenNthCalledWith(3, 5); + expect(consoleLogSpy).toHaveBeenNthCalledWith(4, 7); + expect(consoleLogSpy).toHaveBeenNthCalledWith(5, 9); consoleLogSpy.mockRestore(); }); @@ -141,13 +181,13 @@ describe("countReverse", () => { const consoleLogSpy = jest.spyOn(console, "log"); countReverse(7); - expect(consoleLogSpy).toHaveBeenNthCalledWith(1,7); - expect(consoleLogSpy).toHaveBeenNthCalledWith(2,6); - expect(consoleLogSpy).toHaveBeenNthCalledWith(3,5); - expect(consoleLogSpy).toHaveBeenNthCalledWith(4,4); - expect(consoleLogSpy).toHaveBeenNthCalledWith(5,3); - expect(consoleLogSpy).toHaveBeenNthCalledWith(6,2); - expect(consoleLogSpy).toHaveBeenNthCalledWith(7,1); + expect(consoleLogSpy).toHaveBeenNthCalledWith(1, 7); + expect(consoleLogSpy).toHaveBeenNthCalledWith(2, 6); + expect(consoleLogSpy).toHaveBeenNthCalledWith(3, 5); + expect(consoleLogSpy).toHaveBeenNthCalledWith(4, 4); + expect(consoleLogSpy).toHaveBeenNthCalledWith(5, 3); + expect(consoleLogSpy).toHaveBeenNthCalledWith(6, 2); + expect(consoleLogSpy).toHaveBeenNthCalledWith(7, 1); consoleLogSpy.mockRestore(); }); From 1b96cc8772e81a42f0ff0fdb7b0e23c09e814eb1 Mon Sep 17 00:00:00 2001 From: Shahid Amin Date: Sun, 26 Feb 2023 22:48:50 +0000 Subject: [PATCH 2/4] Update 1-fix-functions.js --- mandatory/1-fix-functions.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mandatory/1-fix-functions.js b/mandatory/1-fix-functions.js index fd575cff..26beb700 100644 --- a/mandatory/1-fix-functions.js +++ b/mandatory/1-fix-functions.js @@ -13,6 +13,9 @@ function getMood(isHappy) { //let isHappy = true; + function getMood(isHappy) { + //let isHappy = true; + if (isHappy) { return "I am happy"; } else { From 109cac5c4182ba9096bf4aef07a25f39b78804ce Mon Sep 17 00:00:00 2001 From: Shahid Amin Date: Sun, 26 Feb 2023 22:49:53 +0000 Subject: [PATCH 3/4] Update 2-function-creation.js --- mandatory/2-function-creation.js | 1 - 1 file changed, 1 deletion(-) diff --git a/mandatory/2-function-creation.js b/mandatory/2-function-creation.js index 2e01f65f..b7e8d0ef 100644 --- a/mandatory/2-function-creation.js +++ b/mandatory/2-function-creation.js @@ -86,7 +86,6 @@ function countReverse(number) { number = number -1; } } - /* ======= TESTS - DO NOT MODIFY ===== */ describe("isAcceptableUser", () => { From 697d254c3381ffade4a2e8ea9cfe8871de3a90c5 Mon Sep 17 00:00:00 2001 From: Shahid Amin CYF <82290321+Schboostie@users.noreply.github.com> Date: Wed, 1 Mar 2023 10:59:34 +0000 Subject: [PATCH 4/4] Update 1-factorial.js --- extra/1-factorial.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/extra/1-factorial.js b/extra/1-factorial.js index da9f8e6c..43cd968d 100644 --- a/extra/1-factorial.js +++ b/extra/1-factorial.js @@ -8,8 +8,16 @@ Using a loop, complete the function below so it returns the factorial of the number being passed in. */ -function factorial(input) { - // TODO +function factorial(num) { + // TODO + let result = 1 + for (let i = 1; i <= num; i++){ + + result *= i; + + } + return result + } /* ======= TESTS - DO NOT MODIFY ===== */