diff --git a/jest-html-reporters-attach/test/result.js b/jest-html-reporters-attach/test/result.js
index f4e1899..d589903 100644
--- a/jest-html-reporters-attach/test/result.js
+++ b/jest-html-reporters-attach/test/result.js
@@ -1 +1 @@
-window.jest_html_reporters_callback__({"numFailedTestSuites":1,"numFailedTests":1,"numPassedTestSuites":3,"numPassedTests":27,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":4,"numTotalTests":28,"startTime":1681110296155,"success":false,"testResults":[{"numFailingTests":1,"numPassingTests":7,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1681110296934,"runtime":603,"slow":false,"start":1681110296331},"testFilePath":"C:\\Users\\kolan\\Downloads\\js_assignment\\tests\\conditionalAndLoops.test.js","failureMessage":"\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mConditionals and Loops › (20 pts) Testing timespanToHumanString\u001b[39m\u001b[22m\n\n \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoEqual\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // deep equality\u001b[22m\n\n Expected: \u001b[32m\"a few seconds ago\"\u001b[39m\n Received: \u001b[31mundefined\u001b[39m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 298 |\u001b[39m \t\t\t}\u001b[33m,\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 299 |\u001b[39m \t\t]\u001b[33m.\u001b[39mforEach((data) \u001b[33m=>\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 300 |\u001b[39m \t\t\texpect(timespanToHumanString(\u001b[36mnew\u001b[39m \u001b[33mDate\u001b[39m(data\u001b[33m.\u001b[39mstartDate)\u001b[33m,\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mDate\u001b[39m(data\u001b[33m.\u001b[39mendDate)))\u001b[33m.\u001b[39mtoEqual(\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t\t\t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 301 |\u001b[39m \t\t\t\tdata\u001b[33m.\u001b[39mexpected\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 302 |\u001b[39m \t\t\t)\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 303 |\u001b[39m \t\t)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat toEqual (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/conditionalAndLoops.test.js\u001b[39m\u001b[0m\u001b[2m:300:84)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m at Array.forEach ()\u001b[22m\n\u001b[2m \u001b[2mat Object.forEach (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/conditionalAndLoops.test.js\u001b[39m\u001b[0m\u001b[2m:299:5)\u001b[22m\u001b[2m\u001b[22m\n","testResults":[{"ancestorTitles":["Conditionals and Loops"],"duration":16,"failureMessages":[],"fullName":"Conditionals and Loops (5 pts) Testing getFizzBuzz","status":"passed","title":"(5 pts) Testing getFizzBuzz"},{"ancestorTitles":["Conditionals and Loops"],"duration":1,"failureMessages":[],"fullName":"Conditionals and Loops (10 pts) Testing getFactorial","status":"passed","title":"(10 pts) Testing getFactorial"},{"ancestorTitles":["Conditionals and Loops"],"duration":1,"failureMessages":[],"fullName":"Conditionals and Loops (10 pts) Testing getSumBetweenNumbers","status":"passed","title":"(10 pts) Testing getSumBetweenNumbers"},{"ancestorTitles":["Conditionals and Loops"],"duration":2,"failureMessages":[],"fullName":"Conditionals and Loops (15 pts) Testing isTriangle","status":"passed","title":"(15 pts) Testing isTriangle"},{"ancestorTitles":["Conditionals and Loops"],"duration":0,"failureMessages":[],"fullName":"Conditionals and Loops (5 pts) Testing reverseString","status":"passed","title":"(5 pts) Testing reverseString"},{"ancestorTitles":["Conditionals and Loops"],"duration":2,"failureMessages":[],"fullName":"Conditionals and Loops (30 pts) Testing isBracketBalanced","status":"passed","title":"(30 pts) Testing isBracketBalanced"},{"ancestorTitles":["Conditionals and Loops"],"duration":2,"failureMessages":[],"fullName":"Conditionals and Loops (30 pts) Testing toNaryString","status":"passed","title":"(30 pts) Testing toNaryString"},{"ancestorTitles":["Conditionals and Loops"],"duration":6,"failureMessages":["Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoEqual\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // deep equality\u001b[22m\n\nExpected: \u001b[32m\"a few seconds ago\"\u001b[39m\nReceived: \u001b[31mundefined\u001b[39m\n at toEqual (C:\\Users\\kolan\\Downloads\\js_assignment\\tests\\conditionalAndLoops.test.js:300:84)\n at Array.forEach ()\n at Object.forEach (C:\\Users\\kolan\\Downloads\\js_assignment\\tests\\conditionalAndLoops.test.js:299:5)\n at Promise.then.completed (C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\jest-circus\\build\\utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\jest-circus\\build\\utils.js:226:10)\n at _callCircusTest (C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\jest-circus\\build\\run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\jest-circus\\build\\run.js:233:3)\n at _runTestsForDescribeBlock (C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\jest-circus\\build\\run.js:135:9)\n at _runTestsForDescribeBlock (C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\jest-circus\\build\\run.js:130:9)\n at run (C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\jest-circus\\build\\run.js:68:3)\n at runAndTransformResultsToJestFormat (C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\jest-circus\\build\\legacy-code-todo-rewrite\\jestAdapterInit.js:122:21)\n at jestAdapter (C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\jest-circus\\build\\legacy-code-todo-rewrite\\jestAdapter.js:79:19)\n at runTestInternal (C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\jest-runner\\build\\runTest.js:367:16)\n at runTest (C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\jest-runner\\build\\runTest.js:444:34)"],"fullName":"Conditionals and Loops (20 pts) Testing timespanToHumanString","status":"failed","title":"(20 pts) Testing timespanToHumanString"}]},{"numFailingTests":0,"numPassingTests":6,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1681110297284,"runtime":308,"slow":false,"start":1681110296976},"testFilePath":"C:\\Users\\kolan\\Downloads\\js_assignment\\tests\\array.test.js","failureMessage":null,"testResults":[{"ancestorTitles":["Arrays"],"duration":3,"failureMessages":[],"fullName":"Arrays (5 pts) Testing findElement","status":"passed","title":"(5 pts) Testing findElement"},{"ancestorTitles":["Arrays"],"duration":1,"failureMessages":[],"fullName":"Arrays (2 pts) Testing doubleArray","status":"passed","title":"(2 pts) Testing doubleArray"},{"ancestorTitles":["Arrays"],"duration":1,"failureMessages":[],"fullName":"Arrays (4 pts) Testing getArrayOfPositives","status":"passed","title":"(4 pts) Testing getArrayOfPositives"},{"ancestorTitles":["Arrays"],"duration":1,"failureMessages":[],"fullName":"Arrays (3 pts) Testing removeFalsyValues","status":"passed","title":"(3 pts) Testing removeFalsyValues"},{"ancestorTitles":["Arrays"],"duration":1,"failureMessages":[],"fullName":"Arrays (3 pts) Testing getStringsLength","status":"passed","title":"(3 pts) Testing getStringsLength"},{"ancestorTitles":["Arrays"],"duration":1,"failureMessages":[],"fullName":"Arrays (3 pts) Testing getItemsSum","status":"passed","title":"(3 pts) Testing getItemsSum"}]},{"numFailingTests":0,"numPassingTests":8,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1681110297545,"runtime":205,"slow":false,"start":1681110297340},"testFilePath":"C:\\Users\\kolan\\Downloads\\js_assignment\\tests\\strings.test.js","failureMessage":null,"testResults":[{"ancestorTitles":["Strings"],"duration":3,"failureMessages":[],"fullName":"Strings (2 pts) Testing concatenateStrings","status":"passed","title":"(2 pts) Testing concatenateStrings"},{"ancestorTitles":["Strings"],"duration":1,"failureMessages":[],"fullName":"Strings (2 pts) Testing getStringLength","status":"passed","title":"(2 pts) Testing getStringLength"},{"ancestorTitles":["Strings"],"duration":0,"failureMessages":[],"fullName":"Strings (3 pts) Testing getFirstChar","status":"passed","title":"(3 pts) Testing getFirstChar"},{"ancestorTitles":["Strings"],"duration":1,"failureMessages":[],"fullName":"Strings (3 pts) Testing removeLeadingAndTrailingWhitespace","status":"passed","title":"(3 pts) Testing removeLeadingAndTrailingWhitespace"},{"ancestorTitles":["Strings"],"duration":1,"failureMessages":[],"fullName":"Strings (5 pts) Testing repeatString","status":"passed","title":"(5 pts) Testing repeatString"},{"ancestorTitles":["Strings"],"duration":1,"failureMessages":[],"fullName":"Strings (5 pts) Testing removeFirstOccurrences","status":"passed","title":"(5 pts) Testing removeFirstOccurrences"},{"ancestorTitles":["Strings"],"duration":0,"failureMessages":[],"fullName":"Strings (2 pts) Testing convertToUpperCase","status":"passed","title":"(2 pts) Testing convertToUpperCase"},{"ancestorTitles":["Strings"],"duration":1,"failureMessages":[],"fullName":"Strings (10 pts) Testing encodeToRot13","status":"passed","title":"(10 pts) Testing encodeToRot13"}]},{"numFailingTests":0,"numPassingTests":6,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1681110297752,"runtime":165,"slow":false,"start":1681110297587},"testFilePath":"C:\\Users\\kolan\\Downloads\\js_assignment\\tests\\number.test.js","failureMessage":null,"testResults":[{"ancestorTitles":["Numbers"],"duration":2,"failureMessages":[],"fullName":"Numbers (3 pts) Testing getRectangleArea","status":"passed","title":"(3 pts) Testing getRectangleArea"},{"ancestorTitles":["Numbers"],"duration":1,"failureMessages":[],"fullName":"Numbers (3 pts) Testing getAverage","status":"passed","title":"(3 pts) Testing getAverage"},{"ancestorTitles":["Numbers"],"duration":1,"failureMessages":[],"fullName":"Numbers (3 pts) Testing getLinearEquationRoot","status":"passed","title":"(3 pts) Testing getLinearEquationRoot"},{"ancestorTitles":["Numbers"],"duration":1,"failureMessages":[],"fullName":"Numbers (2 pts) Testing getLastDigit","status":"passed","title":"(2 pts) Testing getLastDigit"},{"ancestorTitles":["Numbers"],"duration":1,"failureMessages":[],"fullName":"Numbers (2 pts) Testing parseNumberFromString","status":"passed","title":"(2 pts) Testing parseNumberFromString"},{"ancestorTitles":["Numbers"],"duration":2,"failureMessages":[],"fullName":"Numbers (10 pts) Testing isPrime","status":"passed","title":"(10 pts) Testing isPrime"}]}],"config":{"bail":0,"changedFilesWithAncestor":false,"ci":false,"collectCoverage":false,"collectCoverageFrom":[],"coverageDirectory":"C:\\Users\\kolan\\Downloads\\js_assignment\\coverage","coverageProvider":"babel","coverageReporters":["json","text","lcov","clover"],"detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"expand":false,"findRelatedTests":false,"forceExit":false,"json":false,"lastCommit":false,"listTests":false,"logHeapUsage":false,"maxConcurrency":5,"maxWorkers":15,"noStackTrace":false,"nonFlagArgs":[],"notify":false,"notifyMode":"failure-change","onlyChanged":false,"onlyFailures":false,"openHandlesTimeout":1000,"passWithNoTests":false,"projects":[],"reporters":[["default",{}],["C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\jest-html-reporters\\index.js",{"filename":"test.html","pageTitle":"JS Assignments","openReport":true,"hideIcon":true}]],"rootDir":"C:\\Users\\kolan\\Downloads\\js_assignment","runTestsByPath":false,"seed":-2027890741,"skipFilter":false,"snapshotFormat":{"escapeString":false,"printBasicPrototype":false},"testFailureExitCode":1,"testPathPattern":"","testResultsProcessor":"C:\\Users\\kolan\\Downloads\\js_assignment\\testsScore.js","testSequencer":"C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\@jest\\test-sequencer\\build\\index.js","updateSnapshot":"new","useStderr":false,"watch":false,"watchAll":false,"watchman":true,"workerThreads":false},"endTime":1681110297760,"_reporterOptions":{"publicPath":"C:\\Users\\kolan\\Downloads\\js_assignment","filename":"test.html","expand":false,"pageTitle":"JS Assignments","hideIcon":true,"testCommand":"","openReport":true,"failureMessageOnly":0,"enableMergeData":false,"dataMergeLevel":1,"inlineSource":false,"urlForTestFiles":"","darkTheme":false,"includeConsoleLog":false},"logInfoMapping":{},"attachInfos":{}})
\ No newline at end of file
+window.jest_html_reporters_callback__({"numFailedTestSuites":1,"numFailedTests":1,"numPassedTestSuites":3,"numPassedTests":27,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":4,"numTotalTests":28,"startTime":1681139885190,"success":false,"testResults":[{"numFailingTests":1,"numPassingTests":7,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1681139885706,"runtime":419,"slow":false,"start":1681139885287},"testFilePath":"C:\\Users\\kolan\\Downloads\\js_assignment\\tests\\conditionalAndLoops.test.js","failureMessage":"\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mConditionals and Loops › (20 pts) Testing timespanToHumanString\u001b[39m\u001b[22m\n\n \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoEqual\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // deep equality\u001b[22m\n\n Expected: \u001b[32m\"a few seconds ago\"\u001b[39m\n Received: \u001b[31mundefined\u001b[39m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 298 |\u001b[39m \t\t\t}\u001b[33m,\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 299 |\u001b[39m \t\t]\u001b[33m.\u001b[39mforEach((data) \u001b[33m=>\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 300 |\u001b[39m \t\t\texpect(timespanToHumanString(\u001b[36mnew\u001b[39m \u001b[33mDate\u001b[39m(data\u001b[33m.\u001b[39mstartDate)\u001b[33m,\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mDate\u001b[39m(data\u001b[33m.\u001b[39mendDate)))\u001b[33m.\u001b[39mtoEqual(\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t\t\t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 301 |\u001b[39m \t\t\t\tdata\u001b[33m.\u001b[39mexpected\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 302 |\u001b[39m \t\t\t)\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 303 |\u001b[39m \t\t)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat toEqual (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/conditionalAndLoops.test.js\u001b[39m\u001b[0m\u001b[2m:300:84)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m at Array.forEach ()\u001b[22m\n\u001b[2m \u001b[2mat Object.forEach (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/conditionalAndLoops.test.js\u001b[39m\u001b[0m\u001b[2m:299:5)\u001b[22m\u001b[2m\u001b[22m\n","testResults":[{"ancestorTitles":["Conditionals and Loops"],"duration":12,"failureMessages":[],"fullName":"Conditionals and Loops (5 pts) Testing getFizzBuzz","status":"passed","title":"(5 pts) Testing getFizzBuzz"},{"ancestorTitles":["Conditionals and Loops"],"duration":0,"failureMessages":[],"fullName":"Conditionals and Loops (10 pts) Testing getFactorial","status":"passed","title":"(10 pts) Testing getFactorial"},{"ancestorTitles":["Conditionals and Loops"],"duration":0,"failureMessages":[],"fullName":"Conditionals and Loops (10 pts) Testing getSumBetweenNumbers","status":"passed","title":"(10 pts) Testing getSumBetweenNumbers"},{"ancestorTitles":["Conditionals and Loops"],"duration":2,"failureMessages":[],"fullName":"Conditionals and Loops (15 pts) Testing isTriangle","status":"passed","title":"(15 pts) Testing isTriangle"},{"ancestorTitles":["Conditionals and Loops"],"duration":1,"failureMessages":[],"fullName":"Conditionals and Loops (5 pts) Testing reverseString","status":"passed","title":"(5 pts) Testing reverseString"},{"ancestorTitles":["Conditionals and Loops"],"duration":2,"failureMessages":[],"fullName":"Conditionals and Loops (30 pts) Testing isBracketBalanced","status":"passed","title":"(30 pts) Testing isBracketBalanced"},{"ancestorTitles":["Conditionals and Loops"],"duration":1,"failureMessages":[],"fullName":"Conditionals and Loops (30 pts) Testing toNaryString","status":"passed","title":"(30 pts) Testing toNaryString"},{"ancestorTitles":["Conditionals and Loops"],"duration":4,"failureMessages":["Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoEqual\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // deep equality\u001b[22m\n\nExpected: \u001b[32m\"a few seconds ago\"\u001b[39m\nReceived: \u001b[31mundefined\u001b[39m\n at toEqual (C:\\Users\\kolan\\Downloads\\js_assignment\\tests\\conditionalAndLoops.test.js:300:84)\n at Array.forEach ()\n at Object.forEach (C:\\Users\\kolan\\Downloads\\js_assignment\\tests\\conditionalAndLoops.test.js:299:5)\n at Promise.then.completed (C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\jest-circus\\build\\utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\jest-circus\\build\\utils.js:226:10)\n at _callCircusTest (C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\jest-circus\\build\\run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\jest-circus\\build\\run.js:233:3)\n at _runTestsForDescribeBlock (C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\jest-circus\\build\\run.js:135:9)\n at _runTestsForDescribeBlock (C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\jest-circus\\build\\run.js:130:9)\n at run (C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\jest-circus\\build\\run.js:68:3)\n at runAndTransformResultsToJestFormat (C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\jest-circus\\build\\legacy-code-todo-rewrite\\jestAdapterInit.js:122:21)\n at jestAdapter (C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\jest-circus\\build\\legacy-code-todo-rewrite\\jestAdapter.js:79:19)\n at runTestInternal (C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\jest-runner\\build\\runTest.js:367:16)\n at runTest (C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\jest-runner\\build\\runTest.js:444:34)"],"fullName":"Conditionals and Loops (20 pts) Testing timespanToHumanString","status":"failed","title":"(20 pts) Testing timespanToHumanString"}]},{"numFailingTests":0,"numPassingTests":8,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1681139885895,"runtime":147,"slow":false,"start":1681139885748},"testFilePath":"C:\\Users\\kolan\\Downloads\\js_assignment\\tests\\strings.test.js","failureMessage":null,"testResults":[{"ancestorTitles":["Strings"],"duration":2,"failureMessages":[],"fullName":"Strings (2 pts) Testing concatenateStrings","status":"passed","title":"(2 pts) Testing concatenateStrings"},{"ancestorTitles":["Strings"],"duration":1,"failureMessages":[],"fullName":"Strings (2 pts) Testing getStringLength","status":"passed","title":"(2 pts) Testing getStringLength"},{"ancestorTitles":["Strings"],"duration":0,"failureMessages":[],"fullName":"Strings (3 pts) Testing getFirstChar","status":"passed","title":"(3 pts) Testing getFirstChar"},{"ancestorTitles":["Strings"],"duration":1,"failureMessages":[],"fullName":"Strings (3 pts) Testing removeLeadingAndTrailingWhitespace","status":"passed","title":"(3 pts) Testing removeLeadingAndTrailingWhitespace"},{"ancestorTitles":["Strings"],"duration":1,"failureMessages":[],"fullName":"Strings (5 pts) Testing repeatString","status":"passed","title":"(5 pts) Testing repeatString"},{"ancestorTitles":["Strings"],"duration":1,"failureMessages":[],"fullName":"Strings (5 pts) Testing removeFirstOccurrences","status":"passed","title":"(5 pts) Testing removeFirstOccurrences"},{"ancestorTitles":["Strings"],"duration":1,"failureMessages":[],"fullName":"Strings (2 pts) Testing convertToUpperCase","status":"passed","title":"(2 pts) Testing convertToUpperCase"},{"ancestorTitles":["Strings"],"duration":1,"failureMessages":[],"fullName":"Strings (10 pts) Testing encodeToRot13","status":"passed","title":"(10 pts) Testing encodeToRot13"}]},{"numFailingTests":0,"numPassingTests":6,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1681139886112,"runtime":180,"slow":false,"start":1681139885932},"testFilePath":"C:\\Users\\kolan\\Downloads\\js_assignment\\tests\\number.test.js","failureMessage":null,"testResults":[{"ancestorTitles":["Numbers"],"duration":2,"failureMessages":[],"fullName":"Numbers (3 pts) Testing getRectangleArea","status":"passed","title":"(3 pts) Testing getRectangleArea"},{"ancestorTitles":["Numbers"],"duration":1,"failureMessages":[],"fullName":"Numbers (3 pts) Testing getAverage","status":"passed","title":"(3 pts) Testing getAverage"},{"ancestorTitles":["Numbers"],"duration":1,"failureMessages":[],"fullName":"Numbers (3 pts) Testing getLinearEquationRoot","status":"passed","title":"(3 pts) Testing getLinearEquationRoot"},{"ancestorTitles":["Numbers"],"duration":1,"failureMessages":[],"fullName":"Numbers (2 pts) Testing getLastDigit","status":"passed","title":"(2 pts) Testing getLastDigit"},{"ancestorTitles":["Numbers"],"duration":1,"failureMessages":[],"fullName":"Numbers (2 pts) Testing parseNumberFromString","status":"passed","title":"(2 pts) Testing parseNumberFromString"},{"ancestorTitles":["Numbers"],"duration":1,"failureMessages":[],"fullName":"Numbers (10 pts) Testing isPrime","status":"passed","title":"(10 pts) Testing isPrime"}]},{"numFailingTests":0,"numPassingTests":6,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1681139886291,"runtime":153,"slow":false,"start":1681139886138},"testFilePath":"C:\\Users\\kolan\\Downloads\\js_assignment\\tests\\array.test.js","failureMessage":null,"testResults":[{"ancestorTitles":["Arrays"],"duration":3,"failureMessages":[],"fullName":"Arrays (5 pts) Testing findElement","status":"passed","title":"(5 pts) Testing findElement"},{"ancestorTitles":["Arrays"],"duration":1,"failureMessages":[],"fullName":"Arrays (2 pts) Testing doubleArray","status":"passed","title":"(2 pts) Testing doubleArray"},{"ancestorTitles":["Arrays"],"duration":0,"failureMessages":[],"fullName":"Arrays (4 pts) Testing getArrayOfPositives","status":"passed","title":"(4 pts) Testing getArrayOfPositives"},{"ancestorTitles":["Arrays"],"duration":1,"failureMessages":[],"fullName":"Arrays (3 pts) Testing removeFalsyValues","status":"passed","title":"(3 pts) Testing removeFalsyValues"},{"ancestorTitles":["Arrays"],"duration":0,"failureMessages":[],"fullName":"Arrays (3 pts) Testing getStringsLength","status":"passed","title":"(3 pts) Testing getStringsLength"},{"ancestorTitles":["Arrays"],"duration":1,"failureMessages":[],"fullName":"Arrays (3 pts) Testing getItemsSum","status":"passed","title":"(3 pts) Testing getItemsSum"}]}],"config":{"bail":0,"changedFilesWithAncestor":false,"ci":false,"collectCoverage":false,"collectCoverageFrom":[],"coverageDirectory":"C:\\Users\\kolan\\Downloads\\js_assignment\\coverage","coverageProvider":"babel","coverageReporters":["json","text","lcov","clover"],"detectLeaks":false,"detectOpenHandles":false,"errorOnDeprecated":false,"expand":false,"findRelatedTests":false,"forceExit":false,"json":false,"lastCommit":false,"listTests":false,"logHeapUsage":false,"maxConcurrency":5,"maxWorkers":15,"noStackTrace":false,"nonFlagArgs":[],"notify":false,"notifyMode":"failure-change","onlyChanged":false,"onlyFailures":false,"openHandlesTimeout":1000,"passWithNoTests":false,"projects":[],"reporters":[["default",{}],["C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\jest-html-reporters\\index.js",{"filename":"test.html","pageTitle":"JS Assignments","openReport":true,"hideIcon":true}]],"rootDir":"C:\\Users\\kolan\\Downloads\\js_assignment","runTestsByPath":false,"seed":-819930977,"skipFilter":false,"snapshotFormat":{"escapeString":false,"printBasicPrototype":false},"testFailureExitCode":1,"testPathPattern":"","testResultsProcessor":"C:\\Users\\kolan\\Downloads\\js_assignment\\testsScore.js","testSequencer":"C:\\Users\\kolan\\Downloads\\js_assignment\\node_modules\\@jest\\test-sequencer\\build\\index.js","updateSnapshot":"new","useStderr":false,"watch":false,"watchAll":false,"watchman":true,"workerThreads":false},"endTime":1681139886299,"_reporterOptions":{"publicPath":"C:\\Users\\kolan\\Downloads\\js_assignment","filename":"test.html","expand":false,"pageTitle":"JS Assignments","hideIcon":true,"testCommand":"","openReport":true,"failureMessageOnly":0,"enableMergeData":false,"dataMergeLevel":1,"inlineSource":false,"urlForTestFiles":"","darkTheme":false,"includeConsoleLog":false},"logInfoMapping":{},"attachInfos":{}})
\ No newline at end of file
diff --git a/src/array.js b/src/array.js
index 2d5fd36..ae27922 100644
--- a/src/array.js
+++ b/src/array.js
@@ -11,8 +11,7 @@
* [0, 1, 2, 3, 4, 5], 5 => 5
*/
function findElement(arr, value) {
-
- return arr.indexOf(value);
+ return arr.indexOf(value);
}
/**
@@ -28,12 +27,11 @@ function findElement(arr, value) {
* [] => []
*/
function doubleArray(arr) {
- let n =arr.length;
- for(let i=0; i []
*/
function getArrayOfPositives(arr) {
- return arr.filter(elmt => elmt>0);
+ return arr.filter((elmt) => elmt > 0);
}
/**
@@ -64,12 +62,18 @@ function getArrayOfPositives(arr) {
* [ 1, 2, 3, 4, 5, 'false' ] => [ 1, 2, 3, 4, 5, 'false' ]
* [ false, 0, NaN, '', undefined ] => [ ]
*/
-function falsy(elmt)
-{
- return ((elmt != false) && (elmt != '') && (elmt != null) && (elmt !=0) &&(elmt != undefined) && (("" +elmt)!= "NaN"));
+function falsy(elmt) {
+ return (
+ elmt != false &&
+ elmt != "" &&
+ elmt != null &&
+ elmt != 0 &&
+ elmt != undefined &&
+ "" + elmt != "NaN"
+ );
}
function removeFalsyValues(arr) {
- return arr.filter(falsy);
+ return arr.filter(falsy);
}
/**
@@ -83,12 +87,8 @@ function removeFalsyValues(arr) {
* [ 'angular', 'react', 'ember' ] => [ 7, 5, 5 ]
*/
function getStringsLength(arr) {
- let arr2=[];
- for(let i=0;i str.length);
+ return mapping;
}
/**
@@ -104,16 +104,14 @@ function getStringsLength(arr) {
* [ 1, 10, 100, 1000 ] => 1111
*/
function getItemsSum(arr) {
- let sum=0;
- arr.forEach(elmt => sum += elmt);
- return sum;
+ return arr.reduce((accSum, elmt) => accSum + elmt, 0);
}
module.exports = {
- findElement,
- doubleArray,
- getArrayOfPositives,
- removeFalsyValues,
- getStringsLength,
- getItemsSum,
+ findElement,
+ doubleArray,
+ getArrayOfPositives,
+ removeFalsyValues,
+ getStringsLength,
+ getItemsSum,
};
diff --git a/src/conditionalAndLoops.js b/src/conditionalAndLoops.js
index fbfc531..80bb267 100644
--- a/src/conditionalAndLoops.js
+++ b/src/conditionalAndLoops.js
@@ -88,12 +88,7 @@ function getSumBetweenNumbers(n1, n2) {
* 10,10,10 => true
*/
function isTriangle(a, b, c) {
- if ((a + b > c && b + c > a && a + c > b)) {
- return true;
- }
- else {
- return false;
- }
+ return (a + b > c && b + c > a && a + c > b);
}
/**
@@ -237,13 +232,28 @@ function timespanToHumanString(startDate, endDate) {
* 365, 10 => '365'
*/
let str = "";
+let converter = {
+ 10: "a",
+ 11: "b",
+ 12: "c",
+ 13: "d",
+ 14: "e",
+ 15: "f"
+}
function generate(num, n) {
if (num < n) {
str += num;
return;
}
generate(Math.floor(num / n), n);
- str += (num % n);
+ if(num%n < 10)
+ {
+ str += (num % n);
+ }
+ else
+ {
+ str += (converter[num%n]);
+ }
}
function toNaryString(num, n) {
str = "";
diff --git a/src/strangerThings.js b/src/strangerThings.js
index 9cf22d6..9683306 100644
--- a/src/strangerThings.js
+++ b/src/strangerThings.js
@@ -13,15 +13,15 @@ This function should return a list of all the distinct characters in UPPERCASE t
function getCharacters() {
let msg = document.getElementById("message").value;
let str = [];
- console.log(msg.length);
for(let i=0; i elmt!=" ");
}
/*
@@ -68,6 +68,9 @@ async function illuminateLight(index) {
{
await setCSS(message[i]);
}
+ // message.forEach(async function illumine(element) {
+ // await setCSS(element)
+ // });
/*
TODO: Can the setCSS function asynchronously for each character present in the message array
*/
diff --git a/src/strings.js b/src/strings.js
index 4b89184..0f53fff 100644
--- a/src/strings.js
+++ b/src/strings.js
@@ -11,8 +11,7 @@
* '', 'bb' => 'bb'
*/
function concatenateStrings(value1, value2) {
- const ans = value1 + value2;
- return ans;
+ return value1 + value2;
}
/**