diff --git a/mandatory/1-syntax-errors.js b/mandatory/1-syntax-errors.js index d9e004465..ff863d202 100644 --- a/mandatory/1-syntax-errors.js +++ b/mandatory/1-syntax-errors.js @@ -1,16 +1,19 @@ // There are syntax errors in this code - can you fix it to pass the tests? - -function addNumbers(a b c) { +function addNumbers(a, b, c) { return a + b + c; } -function introduceMe(name, age) - return `Hello, my {name}` is "and I am $age years old`; +let name = "Sonjide"; +let age = 27; +function introduceMe(name, age){ + return `Hello, my name is ${name} and I am ${age} years old`; +} + +let a = 23; +let b = 5; function getTotal(a, b) { - total = a ++ b; - - return "The total is total"; + return `The total is ${total = a + b}`; } /* diff --git a/mandatory/2-logic-error.js b/mandatory/2-logic-error.js index 9eb8c8cd7..6a1dc9592 100644 --- a/mandatory/2-logic-error.js +++ b/mandatory/2-logic-error.js @@ -1,19 +1,22 @@ // The syntax for these functions is valid but there are some errors, find them and fix them + function trimWord(word) { - return wordtrim(); + return word.trim(); } + function getStringLength(word) { - return "word".length(); + return word.length; } + function multiply(a, b, c) { - a * b * c; - return; + return a * b * c; } -/* + +/* =================================================== ======= TESTS - DO NOT MODIFY BELOW THIS LINE ===== @@ -29,9 +32,7 @@ test("trimWord trims leading and trailing whitespace", () => { }); test("trimWord doesn't remove whitespace in the middle of the string", () => { - expect(trimWord(" CodeYourFuture teaches coding ")).toEqual( - "CodeYourFuture teaches coding" - ); + expect(trimWord(" CodeYourFuture teaches coding ")).toEqual("CodeYourFuture teaches coding"); }); test("getStringLength returns the length of a word", () => { diff --git a/mandatory/3-function-output.js b/mandatory/3-function-output.js index 5a953ba60..580adf257 100644 --- a/mandatory/3-function-output.js +++ b/mandatory/3-function-output.js @@ -1,17 +1,27 @@ // Add comments to explain what this function does. You're meant to use Google! + function getRandomNumber() { return Math.random() * 10; } +/* Generates a random number. As the values generated are between 0 and 1 we need to multiply by 10 to get a whole number between 1 and 10. */ + // Add comments to explain what this function does. You're meant to use Google! function combine2Words(word1, word2) { return word1.concat(word2); } +/* The concat() method concatenates (joins) two or more strings. It returns a new array, containing the joined strings. */ + +let firstWord = "I"; +let secondWord = "am"; +let thirdWord = 13; function concatenate(firstWord, secondWord, thirdWord) { - // Write the body of this function to concatenate three words together. - // Look at the test case below to understand what this function is expected to return. +return firstWord.concat(" ", secondWord, " ", thirdWord); } +console.log(concatenate); + + /* =================================================== diff --git a/mandatory/4-tax.js b/mandatory/4-tax.js index ba77c7ae2..c0bbcd5b7 100644 --- a/mandatory/4-tax.js +++ b/mandatory/4-tax.js @@ -5,7 +5,11 @@ Sales tax is 20% of the price of the product. */ -function calculateSalesTax() {} +function calculateSalesTax(product) { + let salesTax = (product * 20) / 100; + return priceTotal = product + salesTax; +} + /* CURRENCY FORMATTING @@ -17,7 +21,13 @@ function calculateSalesTax() {} Remember that the prices must include the sales tax (hint: you already wrote a function for this!) */ -function addTaxAndFormatCurrency() {} + +function addTaxAndFormatCurrency(product) { + let salesTax = (product * 20) / 100; + let priceTotal = product + salesTax + + return `£${priceTotal.toFixed(2)}`; +} /* =================================================== diff --git a/package.json b/package.json index 93e0861e3..9e7f2ffeb 100644 --- a/package.json +++ b/package.json @@ -14,15 +14,21 @@ "url": "https://github.com/CodeYourFuture/JavaScript-Core-1-Coursework-Week1/issues" }, "jest": { - "setupFilesAfterEnv": ["jest-extended"], + "setupFilesAfterEnv": [ + "jest-extended" + ], "projects": [ { "displayName": "mandatory", - "testMatch": ["/mandatory/*.js"] + "testMatch": [ + "/mandatory/*.js" + ] }, { "displayName": "extra", - "testMatch": ["/extra/*.js"] + "testMatch": [ + "/extra/*.js" + ] } ] },