The Dinosaur Museum is opening! You've been tasked with building some challenging functionality for the automated systems recently installed at the museum.
To complete this project, you will need to write a number of difficult functions that will support attendees in finding out information about dinosaurs, finding the dinosaur's location, and calculating their entry fees.
-
Fork and clone this repository.
-
Navigate to the cloned repository's directory on your command line. Then, run the following command:
npm install
This will install the libraries needed to run the tests.
-
Open up the repository in VSCode. Follow the instructions below to complete the Lab.
To run the tests, you can run the following command from the command line. You will need to be in the root directory of your local directory.
npm test
This will run the test output once.
If you'd like, you can have the tests run constantly. This means that each time you save your file, your tests will re-run. To do so, you can run the following:
npm run watch
Follow the on-screen prompts to exit out of the constant runner.
There are a lot of tests that are contained in this project. You can run a single test file individually by putting the name of the file after npm test
. You can even only put part of the file name.
npm test facts
Keep in mind that the testing framework, Jest, will attempt to match as many files as possible. So, for example, the following command will run all of the tests because all of the tests are inside of the dinosaur-museum-project/
folder.
npm test dinosaur
After choosing a specific file to run, you can also specific which test you want to run, specifically. Add .only
after either test
or describe
for the specific test you'd like to run.
test.only("should return an array of everyone's name who is in the line, in order", () => {
This will either run the specific test
or, in the case of adding .only
to a describe
, all of the tests for a specific function.
NOTE: Don't forget to remove this after you get the test to pass!
If you want to manually test out your file, you can do so by running the following command.
node index.js
The output will be printed to your terminal.
Each file under the src/
directory contains two or three functions that you will need to complete. Follow the JSDoc comments and tests to understand what needs to be completed.
Each of these functions is quite challenging. You will need to apply everything you've learned to solve each one.
Before you start coding, remember Polya's problem solving methodology; begin by understanding the problem, then devise a plan. Only after accomplishing those two steps should you start writing your code.
-
\n
represents a new line in text. For example, take a look at the following code.console.log("Each\nNew\nLine!");
This will output in the following way:
Each New Line!
-
Start small for each of the functions. Many of the functions require you to solve for some edge-case. First, design a function that works for a single case and then expand outwards. It is likely that you will incrementally have more and more tests passing, as opposed to all of them passing at once.