From 3ae86b4bee215f336b68bfcd9eba2d697e142181 Mon Sep 17 00:00:00 2001 From: Eshaan Aggarwal <96648934+EshaanAgg@users.noreply.github.com> Date: Thu, 6 Apr 2023 02:38:28 +0530 Subject: [PATCH] Add conditionals and loops --- jest-html-reporters-attach/index/result.js | 2 +- src/conditionalAndLoops.js | 184 +++++++++++++ src/numbers.js | 12 +- tests/conditionalAndLoops.test.js | 303 +++++++++++++++++++++ 4 files changed, 494 insertions(+), 7 deletions(-) create mode 100644 src/conditionalAndLoops.js create mode 100644 tests/conditionalAndLoops.test.js diff --git a/jest-html-reporters-attach/index/result.js b/jest-html-reporters-attach/index/result.js index 4b82a14..d59dbff 100644 --- a/jest-html-reporters-attach/index/result.js +++ b/jest-html-reporters-attach/index/result.js @@ -1 +1 @@ -window.jest_html_reporters_callback__({"numFailedTestSuites":1,"numFailedTests":8,"numPassedTestSuites":0,"numPassedTests":0,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":1,"numTotalTests":8,"startTime":1680723500736,"success":false,"testResults":[{"numFailingTests":8,"numPassingTests":0,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1680723500899,"runtime":142,"slow":false,"start":1680723500757},"testFilePath":"/home/eshaan/Desktop/js_assignment/tests/strings.test.js","failureMessage":"\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting concatenateStrings\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 12 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 13 |\u001b[39m \u001b[36mfunction\u001b[39m concatenateStrings(value1\u001b[33m,\u001b[39m value2) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 14 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 15 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 16 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 17 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat concatenateStrings (\u001b[22m\u001b[2msrc/strings.js\u001b[2m:14:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object.concatenateStrings (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/strings.test.js\u001b[39m\u001b[0m\u001b[2m:13:9)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting getStringLength\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 27 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 28 |\u001b[39m \u001b[36mfunction\u001b[39m getStringLength(value) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 29 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 30 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 31 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 32 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat getStringLength (\u001b[22m\u001b[2msrc/strings.js\u001b[2m:29:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object.getStringLength (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/strings.test.js\u001b[39m\u001b[0m\u001b[2m:19:9)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting getFirstChar\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 41 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 42 |\u001b[39m \u001b[36mfunction\u001b[39m getFirstChar(value) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 43 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 44 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 45 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 46 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat getFirstChar (\u001b[22m\u001b[2msrc/strings.js\u001b[2m:43:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object.getFirstChar (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/strings.test.js\u001b[39m\u001b[0m\u001b[2m:25:9)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting removeLeadingAndTrailingWhitespace\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 56 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 57 |\u001b[39m \u001b[36mfunction\u001b[39m removeLeadingAndTrailingWhitespaces(value) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 58 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 59 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 60 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 61 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat removeLeadingAndTrailingWhitespaces (\u001b[22m\u001b[2msrc/strings.js\u001b[2m:58:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object.removeLeadingAndTrailingWhitespaces (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/strings.test.js\u001b[39m\u001b[0m\u001b[2m:31:9)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting repeatString\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 71 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 72 |\u001b[39m \u001b[36mfunction\u001b[39m repeatString(value\u001b[33m,\u001b[39m count) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 73 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 74 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 75 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 76 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat repeatString (\u001b[22m\u001b[2msrc/strings.js\u001b[2m:73:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object.repeatString (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/strings.test.js\u001b[39m\u001b[0m\u001b[2m:37:9)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting removeFirstOccurrences\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 87 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 88 |\u001b[39m \u001b[36mfunction\u001b[39m removeFirstOccurrences(str\u001b[33m,\u001b[39m value) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 89 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 90 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 91 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 92 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat removeFirstOccurrences (\u001b[22m\u001b[2msrc/strings.js\u001b[2m:89:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object.removeFirstOccurrences (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/strings.test.js\u001b[39m\u001b[0m\u001b[2m:42:9)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting convertToUpperCase\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 101 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 102 |\u001b[39m \u001b[36mfunction\u001b[39m convertToUpperCase(str) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 103 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 104 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 105 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 106 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat convertToUpperCase (\u001b[22m\u001b[2msrc/strings.js\u001b[2m:103:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object.convertToUpperCase (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/strings.test.js\u001b[39m\u001b[0m\u001b[2m:48:9)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting encodeToRot13\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 121 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 122 |\u001b[39m \u001b[36mfunction\u001b[39m encodeToRot13(str) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 123 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 124 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 125 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 126 |\u001b[39m module\u001b[33m.\u001b[39mexports \u001b[33m=\u001b[39m {\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat encodeToRot13 (\u001b[22m\u001b[2msrc/strings.js\u001b[2m:123:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object.encodeToRot13 (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/strings.test.js\u001b[39m\u001b[0m\u001b[2m:53:9)\u001b[22m\u001b[2m\u001b[22m\n","testResults":[{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at concatenateStrings (/home/eshaan/Desktop/js_assignment/src/strings.js:14:8)\n at Object.concatenateStrings (/home/eshaan/Desktop/js_assignment/tests/strings.test.js:13:9)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)"],"fullName":"Testing concatenateStrings","status":"failed","title":"Testing concatenateStrings"},{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at getStringLength (/home/eshaan/Desktop/js_assignment/src/strings.js:29:8)\n at Object.getStringLength (/home/eshaan/Desktop/js_assignment/tests/strings.test.js:19:9)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)"],"fullName":"Testing getStringLength","status":"failed","title":"Testing getStringLength"},{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at getFirstChar (/home/eshaan/Desktop/js_assignment/src/strings.js:43:8)\n at Object.getFirstChar (/home/eshaan/Desktop/js_assignment/tests/strings.test.js:25:9)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)"],"fullName":"Testing getFirstChar","status":"failed","title":"Testing getFirstChar"},{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at removeLeadingAndTrailingWhitespaces (/home/eshaan/Desktop/js_assignment/src/strings.js:58:8)\n at Object.removeLeadingAndTrailingWhitespaces (/home/eshaan/Desktop/js_assignment/tests/strings.test.js:31:9)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)"],"fullName":"Testing removeLeadingAndTrailingWhitespace","status":"failed","title":"Testing removeLeadingAndTrailingWhitespace"},{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at repeatString (/home/eshaan/Desktop/js_assignment/src/strings.js:73:8)\n at Object.repeatString (/home/eshaan/Desktop/js_assignment/tests/strings.test.js:37:9)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)"],"fullName":"Testing repeatString","status":"failed","title":"Testing repeatString"},{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at removeFirstOccurrences (/home/eshaan/Desktop/js_assignment/src/strings.js:89:8)\n at Object.removeFirstOccurrences (/home/eshaan/Desktop/js_assignment/tests/strings.test.js:42:9)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)"],"fullName":"Testing removeFirstOccurrences","status":"failed","title":"Testing removeFirstOccurrences"},{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at convertToUpperCase (/home/eshaan/Desktop/js_assignment/src/strings.js:103:8)\n at Object.convertToUpperCase (/home/eshaan/Desktop/js_assignment/tests/strings.test.js:48:9)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)"],"fullName":"Testing convertToUpperCase","status":"failed","title":"Testing convertToUpperCase"},{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at encodeToRot13 (/home/eshaan/Desktop/js_assignment/src/strings.js:123:8)\n at Object.encodeToRot13 (/home/eshaan/Desktop/js_assignment/tests/strings.test.js:53:9)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)"],"fullName":"Testing encodeToRot13","status":"failed","title":"Testing encodeToRot13"}]}],"config":{"bail":0,"changedFilesWithAncestor":false,"ci":false,"collectCoverage":false,"collectCoverageFrom":[],"coverageDirectory":"/home/eshaan/Desktop/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":7,"noStackTrace":false,"nonFlagArgs":[],"notify":false,"notifyMode":"failure-change","onlyChanged":false,"onlyFailures":false,"openHandlesTimeout":1000,"passWithNoTests":false,"projects":[],"reporters":[["default",{}],["/home/eshaan/Desktop/js_assignment/node_modules/jest-html-reporters/index.js",{"filename":"index.html","pageTitle":"JS Assignments"}]],"rootDir":"/home/eshaan/Desktop/js_assignment","runTestsByPath":false,"seed":921159073,"skipFilter":false,"snapshotFormat":{"escapeString":false,"printBasicPrototype":false},"testFailureExitCode":1,"testPathPattern":"","testSequencer":"/home/eshaan/Desktop/js_assignment/node_modules/@jest/test-sequencer/build/index.js","updateSnapshot":"new","useStderr":false,"verbose":true,"watch":false,"watchAll":false,"watchman":true,"workerThreads":false},"endTime":1680723500904,"_reporterOptions":{"publicPath":"/home/eshaan/Desktop/js_assignment","filename":"index.html","expand":false,"pageTitle":"JS Assignments","hideIcon":false,"testCommand":"","openReport":false,"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":3,"numFailedTests":22,"numPassedTestSuites":0,"numPassedTests":0,"numPendingTestSuites":0,"numPendingTests":0,"numRuntimeErrorTestSuites":0,"numTodoTests":0,"numTotalTestSuites":3,"numTotalTests":22,"startTime":1680728841192,"success":false,"testResults":[{"numFailingTests":6,"numPassingTests":0,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1680728841668,"runtime":373,"slow":false,"start":1680728841295},"testFilePath":"/home/eshaan/Desktop/js_assignment/tests/number.test.js","failureMessage":"\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting getRectangleArea\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 11 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 12 |\u001b[39m \u001b[36mfunction\u001b[39m getRectangleArea(width\u001b[33m,\u001b[39m height) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 13 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 14 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 15 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 16 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat getRectangleArea (\u001b[22m\u001b[2msrc/numbers.js\u001b[2m:13:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object.getRectangleArea (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/number.test.js\u001b[39m\u001b[0m\u001b[2m:11:9)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting getAverage\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 11 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 12 |\u001b[39m \u001b[36mfunction\u001b[39m getRectangleArea(width\u001b[33m,\u001b[39m height) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 13 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 14 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 15 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 16 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat getRectangleArea (\u001b[22m\u001b[2msrc/numbers.js\u001b[2m:13:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object.getRectangleArea (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/number.test.js\u001b[39m\u001b[0m\u001b[2m:17:9)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting getLinearEquationRoot\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 43 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 44 |\u001b[39m \u001b[36mfunction\u001b[39m getLinearEquationRoot(a\u001b[33m,\u001b[39m b) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 45 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 46 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 47 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 48 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat getLinearEquationRoot (\u001b[22m\u001b[2msrc/numbers.js\u001b[2m:45:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object.getLinearEquationRoot (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/number.test.js\u001b[39m\u001b[0m\u001b[2m:25:9)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting getLastDigit\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 59 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 60 |\u001b[39m \u001b[36mfunction\u001b[39m getLastDigit(value) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 61 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 62 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 63 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 64 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat getLastDigit (\u001b[22m\u001b[2msrc/numbers.js\u001b[2m:61:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object.getLastDigit (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/number.test.js\u001b[39m\u001b[0m\u001b[2m:31:9)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting parseNumberFromString\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 74 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 75 |\u001b[39m \u001b[36mfunction\u001b[39m parseNumberFromString(value) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 76 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 77 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 78 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 79 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat parseNumberFromString (\u001b[22m\u001b[2msrc/numbers.js\u001b[2m:76:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object.parseNumberFromString (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/number.test.js\u001b[39m\u001b[0m\u001b[2m:39:9)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting isPrime\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 95 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 96 |\u001b[39m \u001b[36mfunction\u001b[39m isPrime(n) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 97 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 98 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 99 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 100 |\u001b[39m module\u001b[33m.\u001b[39mexports \u001b[33m=\u001b[39m {\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat isPrime (\u001b[22m\u001b[2msrc/numbers.js\u001b[2m:97:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object.isPrime (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/number.test.js\u001b[39m\u001b[0m\u001b[2m:45:9)\u001b[22m\u001b[2m\u001b[22m\n","testResults":[{"ancestorTitles":[],"duration":1,"failureMessages":["Error: Not implemented\n at getRectangleArea (/home/eshaan/Desktop/js_assignment/src/numbers.js:13:8)\n at Object.getRectangleArea (/home/eshaan/Desktop/js_assignment/tests/number.test.js:11:9)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/testWorker.js:106:12)"],"fullName":"Testing getRectangleArea","status":"failed","title":"Testing getRectangleArea"},{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at getRectangleArea (/home/eshaan/Desktop/js_assignment/src/numbers.js:13:8)\n at Object.getRectangleArea (/home/eshaan/Desktop/js_assignment/tests/number.test.js:17:9)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/testWorker.js:106:12)"],"fullName":"Testing getAverage","status":"failed","title":"Testing getAverage"},{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at getLinearEquationRoot (/home/eshaan/Desktop/js_assignment/src/numbers.js:45:8)\n at Object.getLinearEquationRoot (/home/eshaan/Desktop/js_assignment/tests/number.test.js:25:9)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/testWorker.js:106:12)"],"fullName":"Testing getLinearEquationRoot","status":"failed","title":"Testing getLinearEquationRoot"},{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at getLastDigit (/home/eshaan/Desktop/js_assignment/src/numbers.js:61:8)\n at Object.getLastDigit (/home/eshaan/Desktop/js_assignment/tests/number.test.js:31:9)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/testWorker.js:106:12)"],"fullName":"Testing getLastDigit","status":"failed","title":"Testing getLastDigit"},{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at parseNumberFromString (/home/eshaan/Desktop/js_assignment/src/numbers.js:76:8)\n at Object.parseNumberFromString (/home/eshaan/Desktop/js_assignment/tests/number.test.js:39:9)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/testWorker.js:106:12)"],"fullName":"Testing parseNumberFromString","status":"failed","title":"Testing parseNumberFromString"},{"ancestorTitles":[],"duration":1,"failureMessages":["Error: Not implemented\n at isPrime (/home/eshaan/Desktop/js_assignment/src/numbers.js:97:8)\n at Object.isPrime (/home/eshaan/Desktop/js_assignment/tests/number.test.js:45:9)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/testWorker.js:106:12)"],"fullName":"Testing isPrime","status":"failed","title":"Testing isPrime"}]},{"numFailingTests":8,"numPassingTests":0,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1680728841675,"runtime":381,"slow":false,"start":1680728841294},"testFilePath":"/home/eshaan/Desktop/js_assignment/tests/strings.test.js","failureMessage":"\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting concatenateStrings\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 12 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 13 |\u001b[39m \u001b[36mfunction\u001b[39m concatenateStrings(value1\u001b[33m,\u001b[39m value2) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 14 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 15 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 16 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 17 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat concatenateStrings (\u001b[22m\u001b[2msrc/strings.js\u001b[2m:14:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object.concatenateStrings (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/strings.test.js\u001b[39m\u001b[0m\u001b[2m:13:9)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting getStringLength\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 27 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 28 |\u001b[39m \u001b[36mfunction\u001b[39m getStringLength(value) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 29 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 30 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 31 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 32 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat getStringLength (\u001b[22m\u001b[2msrc/strings.js\u001b[2m:29:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object.getStringLength (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/strings.test.js\u001b[39m\u001b[0m\u001b[2m:19:9)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting getFirstChar\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 41 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 42 |\u001b[39m \u001b[36mfunction\u001b[39m getFirstChar(value) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 43 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 44 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 45 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 46 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat getFirstChar (\u001b[22m\u001b[2msrc/strings.js\u001b[2m:43:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object.getFirstChar (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/strings.test.js\u001b[39m\u001b[0m\u001b[2m:25:9)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting removeLeadingAndTrailingWhitespace\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 56 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 57 |\u001b[39m \u001b[36mfunction\u001b[39m removeLeadingAndTrailingWhitespaces(value) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 58 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 59 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 60 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 61 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat removeLeadingAndTrailingWhitespaces (\u001b[22m\u001b[2msrc/strings.js\u001b[2m:58:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object.removeLeadingAndTrailingWhitespaces (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/strings.test.js\u001b[39m\u001b[0m\u001b[2m:31:9)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting repeatString\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 71 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 72 |\u001b[39m \u001b[36mfunction\u001b[39m repeatString(value\u001b[33m,\u001b[39m count) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 73 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 74 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 75 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 76 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat repeatString (\u001b[22m\u001b[2msrc/strings.js\u001b[2m:73:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object.repeatString (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/strings.test.js\u001b[39m\u001b[0m\u001b[2m:37:9)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting removeFirstOccurrences\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 87 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 88 |\u001b[39m \u001b[36mfunction\u001b[39m removeFirstOccurrences(str\u001b[33m,\u001b[39m value) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 89 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 90 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 91 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 92 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat removeFirstOccurrences (\u001b[22m\u001b[2msrc/strings.js\u001b[2m:89:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object.removeFirstOccurrences (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/strings.test.js\u001b[39m\u001b[0m\u001b[2m:42:9)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting convertToUpperCase\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 101 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 102 |\u001b[39m \u001b[36mfunction\u001b[39m convertToUpperCase(str) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 103 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 104 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 105 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 106 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat convertToUpperCase (\u001b[22m\u001b[2msrc/strings.js\u001b[2m:103:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object.convertToUpperCase (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/strings.test.js\u001b[39m\u001b[0m\u001b[2m:48:9)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting encodeToRot13\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 121 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 122 |\u001b[39m \u001b[36mfunction\u001b[39m encodeToRot13(str) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 123 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 124 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 125 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 126 |\u001b[39m module\u001b[33m.\u001b[39mexports \u001b[33m=\u001b[39m {\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat encodeToRot13 (\u001b[22m\u001b[2msrc/strings.js\u001b[2m:123:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object.encodeToRot13 (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/strings.test.js\u001b[39m\u001b[0m\u001b[2m:53:9)\u001b[22m\u001b[2m\u001b[22m\n","testResults":[{"ancestorTitles":[],"duration":1,"failureMessages":["Error: Not implemented\n at concatenateStrings (/home/eshaan/Desktop/js_assignment/src/strings.js:14:8)\n at Object.concatenateStrings (/home/eshaan/Desktop/js_assignment/tests/strings.test.js:13:9)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/testWorker.js:106:12)"],"fullName":"Testing concatenateStrings","status":"failed","title":"Testing concatenateStrings"},{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at getStringLength (/home/eshaan/Desktop/js_assignment/src/strings.js:29:8)\n at Object.getStringLength (/home/eshaan/Desktop/js_assignment/tests/strings.test.js:19:9)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/testWorker.js:106:12)"],"fullName":"Testing getStringLength","status":"failed","title":"Testing getStringLength"},{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at getFirstChar (/home/eshaan/Desktop/js_assignment/src/strings.js:43:8)\n at Object.getFirstChar (/home/eshaan/Desktop/js_assignment/tests/strings.test.js:25:9)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/testWorker.js:106:12)"],"fullName":"Testing getFirstChar","status":"failed","title":"Testing getFirstChar"},{"ancestorTitles":[],"duration":1,"failureMessages":["Error: Not implemented\n at removeLeadingAndTrailingWhitespaces (/home/eshaan/Desktop/js_assignment/src/strings.js:58:8)\n at Object.removeLeadingAndTrailingWhitespaces (/home/eshaan/Desktop/js_assignment/tests/strings.test.js:31:9)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/testWorker.js:106:12)"],"fullName":"Testing removeLeadingAndTrailingWhitespace","status":"failed","title":"Testing removeLeadingAndTrailingWhitespace"},{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at repeatString (/home/eshaan/Desktop/js_assignment/src/strings.js:73:8)\n at Object.repeatString (/home/eshaan/Desktop/js_assignment/tests/strings.test.js:37:9)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/testWorker.js:106:12)"],"fullName":"Testing repeatString","status":"failed","title":"Testing repeatString"},{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at removeFirstOccurrences (/home/eshaan/Desktop/js_assignment/src/strings.js:89:8)\n at Object.removeFirstOccurrences (/home/eshaan/Desktop/js_assignment/tests/strings.test.js:42:9)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/testWorker.js:106:12)"],"fullName":"Testing removeFirstOccurrences","status":"failed","title":"Testing removeFirstOccurrences"},{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at convertToUpperCase (/home/eshaan/Desktop/js_assignment/src/strings.js:103:8)\n at Object.convertToUpperCase (/home/eshaan/Desktop/js_assignment/tests/strings.test.js:48:9)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/testWorker.js:106:12)"],"fullName":"Testing convertToUpperCase","status":"failed","title":"Testing convertToUpperCase"},{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at encodeToRot13 (/home/eshaan/Desktop/js_assignment/src/strings.js:123:8)\n at Object.encodeToRot13 (/home/eshaan/Desktop/js_assignment/tests/strings.test.js:53:9)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/testWorker.js:106:12)"],"fullName":"Testing encodeToRot13","status":"failed","title":"Testing encodeToRot13"}]},{"numFailingTests":8,"numPassingTests":0,"numPendingTests":0,"numTodoTests":0,"perfStats":{"end":1680728841710,"runtime":416,"slow":false,"start":1680728841294},"testFilePath":"/home/eshaan/Desktop/js_assignment/tests/conditionalAndLoops.test.js","failureMessage":"\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting getFizzBuzz\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 20 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 21 |\u001b[39m \u001b[36mfunction\u001b[39m getFizzBuzz(num) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 22 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 23 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 24 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 25 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat getFizzBuzz (\u001b[22m\u001b[2msrc/conditionalAndLoops.js\u001b[2m:22:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat getFizzBuzz (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/conditionalAndLoops.test.js\u001b[39m\u001b[0m\u001b[2m:18:28)\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:18:4)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting getFactorial\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 35 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 36 |\u001b[39m \u001b[36mfunction\u001b[39m getFactorial(n) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 37 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 38 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 39 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 40 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat getFactorial (\u001b[22m\u001b[2msrc/conditionalAndLoops.js\u001b[2m:37:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat Object.getFactorial (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/conditionalAndLoops.test.js\u001b[39m\u001b[0m\u001b[2m:36:9)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting getSumBetweenNumbers\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 51 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 52 |\u001b[39m \u001b[36mfunction\u001b[39m getSumBetweenNumbers(n1\u001b[33m,\u001b[39m n2) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 53 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 54 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 55 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 56 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat getSumBetweenNumbers (\u001b[22m\u001b[2msrc/conditionalAndLoops.js\u001b[2m:53:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat getSumBetweenNumbers (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/conditionalAndLoops.test.js\u001b[39m\u001b[0m\u001b[2m:46:29)\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:46:4)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting isTriangle\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 70 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 71 |\u001b[39m \u001b[36mfunction\u001b[39m isTriangle(a\u001b[33m,\u001b[39m b\u001b[33m,\u001b[39m c) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 72 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 73 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 74 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 75 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat isTriangle (\u001b[22m\u001b[2msrc/conditionalAndLoops.js\u001b[2m:72:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat isTriangle (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/conditionalAndLoops.test.js\u001b[39m\u001b[0m\u001b[2m:64:11)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m at Array.forEach ()\u001b[22m\n\u001b[2m \u001b[2mat forEach (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/conditionalAndLoops.test.js\u001b[39m\u001b[0m\u001b[2m:63:5)\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:55:4)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting reverseString\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 86 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 87 |\u001b[39m \u001b[36mfunction\u001b[39m reverseString(str) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 88 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 89 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 90 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 91 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat reverseString (\u001b[22m\u001b[2msrc/conditionalAndLoops.js\u001b[2m:88:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat reverseString (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/conditionalAndLoops.test.js\u001b[39m\u001b[0m\u001b[2m:80:29)\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:80:4)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting isBracketBalanced\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 111 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 112 |\u001b[39m \u001b[36mfunction\u001b[39m isBracketsBalanced(str) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 113 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 114 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 115 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 116 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat isBracketsBalanced (\u001b[22m\u001b[2msrc/conditionalAndLoops.js\u001b[2m:113:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat isBracketsBalanced (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/conditionalAndLoops.test.js\u001b[39m\u001b[0m\u001b[2m:99:28)\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:99:4)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting toNaryString\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 170 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 171 |\u001b[39m \u001b[36mfunction\u001b[39m toNaryString(num\u001b[33m,\u001b[39m n) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 172 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 173 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 174 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 175 |\u001b[39m module\u001b[33m.\u001b[39mexports \u001b[33m=\u001b[39m {\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat toNaryString (\u001b[22m\u001b[2msrc/conditionalAndLoops.js\u001b[2m:172:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat toNaryString (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/conditionalAndLoops.test.js\u001b[39m\u001b[0m\u001b[2m:133:29)\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:133:4)\u001b[22m\u001b[2m\u001b[22m\n\n\u001b[1m\u001b[31m \u001b[1m● \u001b[22m\u001b[1mTesting timespanToHumanString\u001b[39m\u001b[22m\n\n Not implemented\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 146 |\u001b[39m \u001b[90m */\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 147 |\u001b[39m \u001b[36mfunction\u001b[39m timespanToHumanString(startDate\u001b[33m,\u001b[39m endDate) {\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m\u001b[31m\u001b[1m>\u001b[22m\u001b[2m\u001b[39m\u001b[90m 148 |\u001b[39m \t\u001b[36mthrow\u001b[39m \u001b[36mnew\u001b[39m \u001b[33mError\u001b[39m(\u001b[32m\"Not implemented\"\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m |\u001b[39m \t \u001b[31m\u001b[1m^\u001b[22m\u001b[2m\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 149 |\u001b[39m }\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 150 |\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m \u001b[0m \u001b[90m 151 |\u001b[39m \u001b[90m/**\u001b[39m\u001b[0m\u001b[22m\n\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat timespanToHumanString (\u001b[22m\u001b[2msrc/conditionalAndLoops.js\u001b[2m:148:8)\u001b[22m\u001b[2m\u001b[22m\n\u001b[2m \u001b[2mat timespanToHumanString (\u001b[22m\u001b[2m\u001b[0m\u001b[36mtests/conditionalAndLoops.test.js\u001b[39m\u001b[0m\u001b[2m:299:10)\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:298:4)\u001b[22m\u001b[2m\u001b[22m\n","testResults":[{"ancestorTitles":[],"duration":1,"failureMessages":["Error: Not implemented\n at getFizzBuzz (/home/eshaan/Desktop/js_assignment/src/conditionalAndLoops.js:22:8)\n at getFizzBuzz (/home/eshaan/Desktop/js_assignment/tests/conditionalAndLoops.test.js:18:28)\n at Array.forEach ()\n at Object.forEach (/home/eshaan/Desktop/js_assignment/tests/conditionalAndLoops.test.js:18:4)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/testWorker.js:106:12)"],"fullName":"Testing getFizzBuzz","status":"failed","title":"Testing getFizzBuzz"},{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at getFactorial (/home/eshaan/Desktop/js_assignment/src/conditionalAndLoops.js:37:8)\n at Object.getFactorial (/home/eshaan/Desktop/js_assignment/tests/conditionalAndLoops.test.js:36:9)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/testWorker.js:106:12)"],"fullName":"Testing getFactorial","status":"failed","title":"Testing getFactorial"},{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at getSumBetweenNumbers (/home/eshaan/Desktop/js_assignment/src/conditionalAndLoops.js:53:8)\n at getSumBetweenNumbers (/home/eshaan/Desktop/js_assignment/tests/conditionalAndLoops.test.js:46:29)\n at Array.forEach ()\n at Object.forEach (/home/eshaan/Desktop/js_assignment/tests/conditionalAndLoops.test.js:46:4)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/testWorker.js:106:12)"],"fullName":"Testing getSumBetweenNumbers","status":"failed","title":"Testing getSumBetweenNumbers"},{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at isTriangle (/home/eshaan/Desktop/js_assignment/src/conditionalAndLoops.js:72:8)\n at isTriangle (/home/eshaan/Desktop/js_assignment/tests/conditionalAndLoops.test.js:64:11)\n at Array.forEach ()\n at forEach (/home/eshaan/Desktop/js_assignment/tests/conditionalAndLoops.test.js:63:5)\n at Array.forEach ()\n at Object.forEach (/home/eshaan/Desktop/js_assignment/tests/conditionalAndLoops.test.js:55:4)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/testWorker.js:106:12)"],"fullName":"Testing isTriangle","status":"failed","title":"Testing isTriangle"},{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at reverseString (/home/eshaan/Desktop/js_assignment/src/conditionalAndLoops.js:88:8)\n at reverseString (/home/eshaan/Desktop/js_assignment/tests/conditionalAndLoops.test.js:80:29)\n at Array.forEach ()\n at Object.forEach (/home/eshaan/Desktop/js_assignment/tests/conditionalAndLoops.test.js:80:4)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/testWorker.js:106:12)"],"fullName":"Testing reverseString","status":"failed","title":"Testing reverseString"},{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at isBracketsBalanced (/home/eshaan/Desktop/js_assignment/src/conditionalAndLoops.js:113:8)\n at isBracketsBalanced (/home/eshaan/Desktop/js_assignment/tests/conditionalAndLoops.test.js:99:28)\n at Array.forEach ()\n at Object.forEach (/home/eshaan/Desktop/js_assignment/tests/conditionalAndLoops.test.js:99:4)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/testWorker.js:106:12)"],"fullName":"Testing isBracketBalanced","status":"failed","title":"Testing isBracketBalanced"},{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at toNaryString (/home/eshaan/Desktop/js_assignment/src/conditionalAndLoops.js:172:8)\n at toNaryString (/home/eshaan/Desktop/js_assignment/tests/conditionalAndLoops.test.js:133:29)\n at Array.forEach ()\n at Object.forEach (/home/eshaan/Desktop/js_assignment/tests/conditionalAndLoops.test.js:133:4)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/testWorker.js:106:12)"],"fullName":"Testing toNaryString","status":"failed","title":"Testing toNaryString"},{"ancestorTitles":[],"duration":0,"failureMessages":["Error: Not implemented\n at timespanToHumanString (/home/eshaan/Desktop/js_assignment/src/conditionalAndLoops.js:148:8)\n at timespanToHumanString (/home/eshaan/Desktop/js_assignment/tests/conditionalAndLoops.test.js:299:10)\n at Array.forEach ()\n at Object.forEach (/home/eshaan/Desktop/js_assignment/tests/conditionalAndLoops.test.js:298:4)\n at Promise.then.completed (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:293:28)\n at new Promise ()\n at callAsyncCircusFn (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/utils.js:226:10)\n at _callCircusTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:297:40)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at _runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:233:3)\n at _runTestsForDescribeBlock (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:135:9)\n at run (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/run.js:68:3)\n at runAndTransformResultsToJestFormat (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/eshaan/Desktop/js_assignment/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/runTest.js:444:34)\n at Object.worker (/home/eshaan/Desktop/js_assignment/node_modules/jest-runner/build/testWorker.js:106:12)"],"fullName":"Testing timespanToHumanString","status":"failed","title":"Testing timespanToHumanString"}]}],"config":{"bail":0,"changedFilesWithAncestor":false,"ci":false,"collectCoverage":false,"collectCoverageFrom":[],"coverageDirectory":"/home/eshaan/Desktop/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":7,"noStackTrace":false,"nonFlagArgs":[],"notify":false,"notifyMode":"failure-change","onlyChanged":false,"onlyFailures":false,"openHandlesTimeout":1000,"passWithNoTests":false,"projects":[],"reporters":[["default",{}],["/home/eshaan/Desktop/js_assignment/node_modules/jest-html-reporters/index.js",{"filename":"index.html","pageTitle":"JS Assignments"}]],"rootDir":"/home/eshaan/Desktop/js_assignment","runTestsByPath":false,"seed":704776092,"skipFilter":false,"snapshotFormat":{"escapeString":false,"printBasicPrototype":false},"testFailureExitCode":1,"testPathPattern":"","testSequencer":"/home/eshaan/Desktop/js_assignment/node_modules/@jest/test-sequencer/build/index.js","updateSnapshot":"new","useStderr":false,"watch":false,"watchAll":false,"watchman":true,"workerThreads":false},"endTime":1680728841763,"_reporterOptions":{"publicPath":"/home/eshaan/Desktop/js_assignment","filename":"index.html","expand":false,"pageTitle":"JS Assignments","hideIcon":false,"testCommand":"","openReport":false,"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/conditionalAndLoops.js b/src/conditionalAndLoops.js new file mode 100644 index 0000000..34d0812 --- /dev/null +++ b/src/conditionalAndLoops.js @@ -0,0 +1,184 @@ +/** + * Returns the 'Fizz','Buzz' or an original number using the following rules: + * 1) return original number + * 2) but if number multiples of three return 'Fizz' + * 3) for the multiples of five return 'Buzz' + * 4) for numbers which are multiples of both three and five return 'FizzBuzz' + * + * @param {number} num + * @return {any} + * + * @example + * 2 => 2 + * 3 => 'Fizz' + * 5 => 'Buzz' + * 4 => 4 + * 15 => 'FizzBuzz' + * 20 => 'Buzz' + * 21 => 'Fizz' + * + */ +function getFizzBuzz(num) { + throw new Error("Not implemented"); +} + +/** + * Returns the factorial of the specified integer n. + * + * @param {number} n + * @return {number} + * + * @example: + * 1 => 1 + * 5 => 120 + * 10 => 3628800 + */ +function getFactorial(n) { + throw new Error("Not implemented"); +} + +/** + * Returns the sum of integer numbers between n1 and n2 (inclusive). + * + * @param {number} n1 + * @param {number} n2 + * @return {number} + * + * @example: + * 1,2 => 3 ( = 1+2 ) + * 5,10 => 45 ( = 5+6+7+8+9+10 ) + * -1,1 => 0 ( = -1 + 0 + 1 ) + */ +function getSumBetweenNumbers(n1, n2) { + throw new Error("Not implemented"); +} + +/** + * Returns true, if a triangle can be built with the specified sides a,b,c and false + * in any other ways. + * + * @param {number} a + * @param {number} b + * @param {number} c + * @return {bool} + * + * @example: + * 1,2,3 => false + * 3,4,5 => true + * 10,1,1 => false + * 10,10,10 => true + */ +function isTriangle(a, b, c) { + throw new Error("Not implemented"); +} + +/** + * Reverse the specified string (put all chars in reverse order) + * + * @param {string} str + * @return {string} + * + * @example: + * 'The quick brown fox jumps over the lazy dog' => 'god yzal eht revo spmuj xof nworb kciuq ehT' + * 'abracadabra' => 'arbadacarba' + * 'rotator' => 'rotator' + * 'noon' => 'noon' + */ +function reverseString(str) { + throw new Error("Not implemented"); +} + +/** + * Returns true if the specified string has the balanced brackets and false otherwise. + * Balanced means that is, whether it consists entirely of pairs of opening/closing brackets + * (in that order), none of which mis-nest. + * Brackets include [],(),{},<> + * + * @param {string} str + * @return {boolean} + * + * @example: + * '' => true + * '[]' => true + * '{}' => true + * '() => true + * '[[]' => false + * '][' => false + * '[[][][[]]]' => true + * '[[][]][' => false + * '{)' = false + * '{[(<{[]}>)]}' = true + */ +function isBracketsBalanced(str) { + throw new Error("Not implemented"); +} + +/** + * Returns the human readable string of time period specified by the start and end time. + * The result string should be constrcuted using the folliwing rules: + * + * --------------------------------------------------------------------- + * Difference | Result + * --------------------------------------------------------------------- + * 0 to 45 seconds | a few seconds ago + * 45 to 90 seconds | a minute ago + * 90 seconds to 45 minutes | 2 minutes ago ... 45 minutes ago + * 45 to 90 minutes | an hour ago + * 90 minutes to 22 hours | 2 hours ago ... 22 hours ago + * 22 to 36 hours | a day ago + * 36 hours to 25 days | 2 days ago ... 25 days ago + * 25 to 45 days | a month ago + * 45 to 345 days | 2 months ago ... 11 months ago + * 345 to 545 days (1.5 years) | a year ago + * 546 days+ | 2 years ago ... 20 years ago + * --------------------------------------------------------------------- + * + * @param {Date} startDate + * @param {Date} endDate + * @return {string} + * + * @example + * Date('2000-01-01 01:00:00.100'), Date('2000-01-01 01:00:00.200') => 'a few seconds ago' + * Date('2000-01-01 01:00:00.100'), Date('2000-01-01 01:00:05.000') => '5 minutes ago' + * Date('2000-01-01 01:00:00.100'), Date('2000-01-02 03:00:05.000') => 'a day ago' + * Date('2000-01-01 01:00:00.100'), Date('2015-01-02 03:00:05.000') => '15 years ago' + * + */ +function timespanToHumanString(startDate, endDate) { + throw new Error("Not implemented"); +} + +/** + * Returns the string with n-ary (binary, ternary, etc, where n<=10) representation of + * specified number. + * See more about + * https://en.wikipedia.org/wiki/Binary_number + * https://en.wikipedia.org/wiki/Ternary_numeral_system + * https://en.wikipedia.org/wiki/Radix + * + * @param {number} num + * @param {number} n, radix of the result + * @return {string} + * + * @example: + * 1024, 2 => '10000000000' + * 6561, 3 => '100000000' + * 365, 2 => '101101101' + * 365, 3 => '111112' + * 365, 4 => '11231' + * 365, 10 => '365' + */ +function toNaryString(num, n) { + throw new Error("Not implemented"); +} + +module.exports = { + getFizzBuzz, + getFactorial, + getSumBetweenNumbers, + isTriangle, + reverseString, + isBracketsBalanced, + timespanToHumanString, + toNaryString, +}; diff --git a/src/numbers.js b/src/numbers.js index 51a12cb..276fca0 100644 --- a/src/numbers.js +++ b/src/numbers.js @@ -98,10 +98,10 @@ function isPrime(n) { } module.exports = { - getRectangleArea: getRectangleArea, - getAverage: getAverage, - getLinearEquationRoot: getLinearEquationRoot, - getLastDigit: getLastDigit, - parseNumberFromString: parseNumberFromString, - isPrime: isPrime, + getRectangleArea, + getAverage, + getLinearEquationRoot, + getLastDigit, + parseNumberFromString, + isPrime, }; diff --git a/tests/conditionalAndLoops.test.js b/tests/conditionalAndLoops.test.js new file mode 100644 index 0000000..a502da3 --- /dev/null +++ b/tests/conditionalAndLoops.test.js @@ -0,0 +1,303 @@ +const { + getFizzBuzz, + getFactorial, + getSumBetweenNumbers, + isTriangle, + reverseString, + isBracketsBalanced, + timespanToHumanString, + toNaryString, +} = require("../src/conditionalAndLoops"); + +test(`Testing getFizzBuzz`, () => { + // Get numbers + [ + 1, 2, 4, 7, 8, 11, 13, 14, 16, 17, 19, 22, 23, 26, 28, 29, 31, 32, 34, 37, 38, 41, 43, 44, 47, + 49, 52, 53, 56, 58, 59, 61, 62, 64, 67, 68, 71, 73, 74, 76, 77, 79, 82, 83, 86, 88, 89, 91, 92, + 94, 97, 98, + ].forEach((num) => expect(getFizzBuzz(num)).toEqual(num)); + + // Get Fizz + [ + 3, 6, 9, 12, 18, 21, 24, 27, 33, 36, 39, 42, 48, 51, 54, 57, 63, 66, 69, 72, 78, 81, 84, 87, 93, + 96, 99, + ].forEach((num) => expect(getFizzBuzz(num)).toEqual("Fizz")); + + // Get Buzz + [5, 10, 20, 25, 35, 40, 50, 55, 65, 70, 80, 85, 95, 100].forEach((num) => + expect(getFizzBuzz(num)).toEqual("Buzz") + ); + + // Get FizzBuzz + [15, 30, 45, 60, 75, 90].forEach((num) => expect(getFizzBuzz(num)).toEqual("FizzBuzz")); +}); + +test(`Testing getFactorial`, () => { + expect(getFactorial(1)).toEqual(1); + expect(getFactorial(5)).toEqual(120); + expect(getFactorial(10)).toEqual(3628800); +}); + +test(`Testing getSumBetweenNumbers`, () => { + [ + { n1: 1, n2: 2, expected: 3 }, + { n1: 5, n2: 10, expected: 45 }, + { n1: -1, n2: 1, expected: 0 }, + ].forEach((data) => expect(getSumBetweenNumbers(data.n1, data.n2)).toEqual(data.expected)); +}); + +test(`Testing isTriangle`, () => { + [ + { sides: [1, 2, 3], expected: false }, + { sides: [3, 4, 5], expected: true }, + { sides: [10, 1, 1], expected: false }, + { sides: [10, 10, 10], expected: true }, + ].forEach((data) => { + [ + [0, 1, 2], + [0, 2, 1], + [1, 2, 0], + [1, 0, 2], + [2, 0, 1], + [2, 1, 0], + ].forEach((idx) => + expect(isTriangle(data.sides[idx[0]], data.sides[idx[1]], data.sides[idx[2]])).toEqual( + data.expected + ) + ); + }); +}); + +test(`Testing reverseString`, () => { + [ + { + str: "The quick brown fox jumps over the lazy dog", + expected: "god yzal eht revo spmuj xof nworb kciuq ehT", + }, + { str: "abracadabra", expected: "arbadacarba" }, + { str: "rotator", expected: "rotator" }, + { str: "noon", expected: "noon" }, + ].forEach((data) => expect(reverseString(data.str)).toEqual(data.expected)); +}); + +test(`Testing isBracketBalanced`, () => { + // Check for balanced sequences + [ + "[]", + "[[][][[]]]", + "[[][]]", + "", + "<>", + "{}", + "()", + "<()>", + "{<>}", + "[{}]", + "[{(<()[]{}<>>)}]", + "{}<>()[]", + "{<>}{()}[[]](())", + ].forEach((seq) => expect(isBracketsBalanced(seq)).toBeTruthy()); + + // Check for unbalanced sequences + [ + "[[]", + "][", + "[][][][][[]", + "{)", + "<]", + "(}", + "[{]}", + "{<}>", + "{{[(])}}", + "{}()[]<", + "{", + "(", + "[", + "({}[]<>(((())))", + "{{[]}}>", + ].forEach((seq) => expect(isBracketsBalanced(seq)).toBeFalsy()); +}); + +test(`Testing toNaryString`, () => { + [ + { num: 1024, n: 2, expected: "10000000000" }, + { num: 6561, n: 3, expected: "100000000" }, + { num: 365, n: 2, expected: "101101101" }, + { num: 365, n: 3, expected: "111112" }, + { num: 365, n: 4, expected: "11231" }, + { num: 365, n: 5, expected: "2430" }, + { num: 365, n: 6, expected: "1405" }, + { num: 365, n: 7, expected: "1031" }, + { num: 365, n: 9, expected: "445" }, + { num: 365, n: 10, expected: "365" }, + ].forEach((data) => expect(toNaryString(data.num, data.n)).toEqual(data.expected)); +}); + +test(`Testing timespanToHumanString`, () => { + [ + { + startDate: "2000-01-01 01:00:00.100", + endDate: "2000-01-01 01:00:00.200", + expected: "a few seconds ago", + }, + { + startDate: "2000-01-01 01:00:00.000", + endDate: "2000-01-01 01:00:30.000", + expected: "a few seconds ago", + }, + { + startDate: "2000-01-01 01:00:00.000", + endDate: "2000-01-01 01:00:45.000", + expected: "a few seconds ago", + }, + { + startDate: "2000-01-01 01:00:00.000", + endDate: "2000-01-01 01:00:45.001", + expected: "a minute ago", + }, + { + startDate: "2000-01-01 01:00:00.000", + endDate: "2000-01-01 01:01:00.000", + expected: "a minute ago", + }, + { + startDate: "2000-01-01 01:00:00.000", + endDate: "2000-01-01 01:01:30.000", + expected: "a minute ago", + }, + { + startDate: "2000-01-01 01:00:00.000", + endDate: "2000-01-01 01:01:30.001", + expected: "2 minutes ago", + }, + { + startDate: "2000-01-01 01:00:00.000", + endDate: "2000-01-01 01:05:30.000", + expected: "5 minutes ago", + }, + { + startDate: "2000-01-01 01:00:00.000", + endDate: "2000-01-01 01:45:00.000", + expected: "45 minutes ago", + }, + { + startDate: "2000-01-01 01:00:00.000", + endDate: "2000-01-01 01:45:00.001", + expected: "an hour ago", + }, + { + startDate: "2000-01-01 01:00:00.000", + endDate: "2000-01-01 02:00:00.000", + expected: "an hour ago", + }, + { + startDate: "2000-01-01 01:00:00.000", + endDate: "2000-01-01 02:30:00.000", + expected: "an hour ago", + }, + { + startDate: "2000-01-01 01:00:00.000", + endDate: "2000-01-01 02:30:00.001", + expected: "2 hours ago", + }, + { + startDate: "2000-01-01 01:00:00.000", + endDate: "2000-01-01 05:30:00.000", + expected: "4 hours ago", + }, + { + startDate: "2000-01-01 01:00:00.000", + endDate: "2000-01-01 05:30:00.001", + expected: "5 hours ago", + }, + { + startDate: "2000-01-01 01:00:00.000", + endDate: "2000-01-01 23:00:00.000", + expected: "22 hours ago", + }, + { + startDate: "2000-01-01 01:00:00.000", + endDate: "2000-01-01 23:00:00.001", + expected: "a day ago", + }, + { + startDate: "2000-01-01 01:00:00.000", + endDate: "2000-01-02 01:00:00.000", + expected: "a day ago", + }, + { + startDate: "2000-01-01 00:00:00.000", + endDate: "2000-01-02 12:00:00.000", + expected: "a day ago", + }, + { + startDate: "2000-01-01 00:00:00.000", + endDate: "2000-01-02 12:00:00.001", + expected: "2 days ago", + }, + { + startDate: "2000-01-01 00:00:00.000", + endDate: "2000-01-05 12:00:00.000", + expected: "4 days ago", + }, + { + startDate: "2000-01-01 00:00:00.000", + endDate: "2000-01-26 00:00:00.000", + expected: "25 days ago", + }, + { + startDate: "2000-01-01 00:00:00.000", + endDate: "2000-01-26 00:00:00.001", + expected: "a month ago", + }, + { + startDate: "2000-01-01 00:00:00.000", + endDate: "2000-02-01 00:00:00.000", + expected: "a month ago", + }, + { + startDate: "2000-01-01 00:00:00.000", + endDate: "2000-02-15 00:00:00.000", + expected: "a month ago", + }, + { + startDate: "2000-01-01 00:00:00.000", + endDate: "2000-02-16 00:00:00.000", + expected: "2 months ago", + }, + { + startDate: "2000-01-01 00:00:00.000", + endDate: "2000-05-20 00:00:00.000", + expected: "5 months ago", + }, + { + startDate: "2000-01-01 00:00:00.000", + endDate: "2000-12-10 00:00:00.000", + expected: "11 months ago", + }, + { + startDate: "2000-01-01 00:00:00.000", + endDate: "2000-12-12 00:00:00.000", + expected: "a year ago", + }, + { + startDate: "2000-01-01 00:00:00.000", + endDate: "2001-02-15 00:00:00.001", + expected: "a year ago", + }, + { + startDate: "2000-01-01 00:00:00.000", + endDate: "2001-06-01 00:00:00.001", + expected: "a year ago", + }, + { + startDate: "2000-01-01 00:00:00.000", + endDate: "2015-02-15 00:00:00.001", + expected: "15 years ago", + }, + ].forEach((data) => + expect(timespanToHumanString(new Date(data.startDate), new Date(data.endDate))).toEqual( + data.expected + ) + ); +});