From 8c88e911b77d59b8a325543c2a97218a8ba08f74 Mon Sep 17 00:00:00 2001 From: Brian Date: Tue, 19 Mar 2024 16:40:19 +0300 Subject: [PATCH] complete.labs --- .results.json | 200 ++++++++++++++++++++++++++++++++++++++++++++++++++ index.js | 45 ++++++++++++ 2 files changed, 245 insertions(+) create mode 100644 .results.json diff --git a/.results.json b/.results.json new file mode 100644 index 0000000000..e67d4d554a --- /dev/null +++ b/.results.json @@ -0,0 +1,200 @@ +{ + "stats": { + "suites": 5, + "tests": 13, + "passes": 13, + "pending": 0, + "failures": 0, + "start": "2024-03-19T13:39:15.972Z", + "end": "2024-03-19T13:39:16.420Z", + "duration": 448 + }, + "tests": [ + { + "title": "returns a distance in blocks", + "fullTitle": "index.js distanceFromHqInBlocks() returns a distance in blocks", + "duration": 1, + "currentRetry": 0, + "err": {} + }, + { + "title": "returns a distance in blocks", + "fullTitle": "index.js distanceFromHqInBlocks() returns a distance in blocks", + "duration": 0, + "currentRetry": 0, + "err": {} + }, + { + "title": "calculates distances below 42nd street", + "fullTitle": "index.js distanceFromHqInBlocks() calculates distances below 42nd street", + "duration": 0, + "currentRetry": 0, + "err": {} + }, + { + "title": "returns a distance in feet", + "fullTitle": "index.js distanceFromHqInFeet() returns a distance in feet", + "duration": 1, + "currentRetry": 0, + "err": {} + }, + { + "title": "returns a distance in feet", + "fullTitle": "index.js distanceFromHqInFeet() returns a distance in feet", + "duration": 0, + "currentRetry": 0, + "err": {} + }, + { + "title": "calculates distances below 42nd street", + "fullTitle": "index.js distanceFromHqInFeet() calculates distances below 42nd street", + "duration": 0, + "currentRetry": 0, + "err": {} + }, + { + "title": "returns the distance travelled in feet", + "fullTitle": "index.js distanceTravelledInFeet() returns the distance travelled in feet", + "duration": 0, + "currentRetry": 0, + "err": {} + }, + { + "title": "returns a distance in feet", + "fullTitle": "index.js distanceTravelledInFeet() returns a distance in feet", + "duration": 0, + "currentRetry": 0, + "err": {} + }, + { + "title": "returns distance when destination is below distance", + "fullTitle": "index.js distanceTravelledInFeet() returns distance when destination is below distance", + "duration": 1, + "currentRetry": 0, + "err": {} + }, + { + "title": "gives customers a free sample", + "fullTitle": "index.js calculatesFarePrice(start, destination) gives customers a free sample", + "duration": 0, + "currentRetry": 0, + "err": {} + }, + { + "title": "charges 2 cents per foot when total feet travelled is between 400 and 2000 (remember the first 400 feet are free!)", + "fullTitle": "index.js calculatesFarePrice(start, destination) charges 2 cents per foot when total feet travelled is between 400 and 2000 (remember the first 400 feet are free!)", + "duration": 0, + "currentRetry": 0, + "err": {} + }, + { + "title": "charges 25 dollars for a distance over 2000 feet", + "fullTitle": "index.js calculatesFarePrice(start, destination) charges 25 dollars for a distance over 2000 feet", + "duration": 0, + "currentRetry": 0, + "err": {} + }, + { + "title": "does not allow rides over 2500 feet", + "fullTitle": "index.js calculatesFarePrice(start, destination) does not allow rides over 2500 feet", + "duration": 0, + "currentRetry": 0, + "err": {} + } + ], + "pending": [], + "failures": [], + "passes": [ + { + "title": "returns a distance in blocks", + "fullTitle": "index.js distanceFromHqInBlocks() returns a distance in blocks", + "duration": 1, + "currentRetry": 0, + "err": {} + }, + { + "title": "returns a distance in blocks", + "fullTitle": "index.js distanceFromHqInBlocks() returns a distance in blocks", + "duration": 0, + "currentRetry": 0, + "err": {} + }, + { + "title": "calculates distances below 42nd street", + "fullTitle": "index.js distanceFromHqInBlocks() calculates distances below 42nd street", + "duration": 0, + "currentRetry": 0, + "err": {} + }, + { + "title": "returns a distance in feet", + "fullTitle": "index.js distanceFromHqInFeet() returns a distance in feet", + "duration": 1, + "currentRetry": 0, + "err": {} + }, + { + "title": "returns a distance in feet", + "fullTitle": "index.js distanceFromHqInFeet() returns a distance in feet", + "duration": 0, + "currentRetry": 0, + "err": {} + }, + { + "title": "calculates distances below 42nd street", + "fullTitle": "index.js distanceFromHqInFeet() calculates distances below 42nd street", + "duration": 0, + "currentRetry": 0, + "err": {} + }, + { + "title": "returns the distance travelled in feet", + "fullTitle": "index.js distanceTravelledInFeet() returns the distance travelled in feet", + "duration": 0, + "currentRetry": 0, + "err": {} + }, + { + "title": "returns a distance in feet", + "fullTitle": "index.js distanceTravelledInFeet() returns a distance in feet", + "duration": 0, + "currentRetry": 0, + "err": {} + }, + { + "title": "returns distance when destination is below distance", + "fullTitle": "index.js distanceTravelledInFeet() returns distance when destination is below distance", + "duration": 1, + "currentRetry": 0, + "err": {} + }, + { + "title": "gives customers a free sample", + "fullTitle": "index.js calculatesFarePrice(start, destination) gives customers a free sample", + "duration": 0, + "currentRetry": 0, + "err": {} + }, + { + "title": "charges 2 cents per foot when total feet travelled is between 400 and 2000 (remember the first 400 feet are free!)", + "fullTitle": "index.js calculatesFarePrice(start, destination) charges 2 cents per foot when total feet travelled is between 400 and 2000 (remember the first 400 feet are free!)", + "duration": 0, + "currentRetry": 0, + "err": {} + }, + { + "title": "charges 25 dollars for a distance over 2000 feet", + "fullTitle": "index.js calculatesFarePrice(start, destination) charges 25 dollars for a distance over 2000 feet", + "duration": 0, + "currentRetry": 0, + "err": {} + }, + { + "title": "does not allow rides over 2500 feet", + "fullTitle": "index.js calculatesFarePrice(start, destination) does not allow rides over 2500 feet", + "duration": 0, + "currentRetry": 0, + "err": {} + } + ] +} \ No newline at end of file diff --git a/index.js b/index.js index 0db6949168..eb7ccfbd15 100644 --- a/index.js +++ b/index.js @@ -1 +1,46 @@ // Code your solution in this file! +function distanceFromHqInBlocks(pickupLocation) { + const hqStreet = 42; + if (pickupLocation > 42) { + let distanceFromHqInBlocks = pickupLocation - hqStreet; + return distanceFromHqInBlocks; + } else { + let distanceFromHqInBlocks = hqStreet - pickupLocation; + return distanceFromHqInBlocks; + } +} +distanceFromHqInBlocks(50); + +function distanceFromHqInFeet(value) { + let distanceFromHqInFeet = distanceFromHqInBlocks(value) * 264; + return distanceFromHqInFeet; +} + +distanceFromHqInFeet(50); + +function distanceTravelledInFeet(start, end) { + if (start > 42) { + let distanceTravelledInFeet = (end - start) * 264; + return distanceTravelledInFeet; + } else { + let distanceTravelledInFeet = (start - end) * 264; + return distanceTravelledInFeet; + } +} + +function calculatesFarePrice(start,end){ + let charges; + if (distanceTravelledInFeet(start,end)<=400){ + return 0; + }else if(400