#### General

###### Was the project written in a compiled programming language?

#### Functional

##### Open a terminal and run the project.

###### Can you confirm that the project runs and displays a unix shell?

##### Open a terminal and run the project.

###### Can you confirm that this interpreter displays at least a simple `$` and waits for you to type a command?

##### Try to run a command of your choice.

###### Can you confirm that the interpreter only validates the command if you press enter?

##### Try to run the command `"exit"`.

###### Can you confirm that the interpreter terminates properly and gives back the parent's shell?

##### Try to run the command `"echo "something!""`. Do the same in your computer terminal.

###### Can you confirm that the displayed message of the project is exactly the same as the computer terminal?

##### Try to run the command `"echo something else"` (without double quotes). Do the same in your computer terminal.

###### Can you confirm that the displayed message of the project is exactly the same as the computer terminal?

##### Try to run the command `"pwd"`.

###### Can you confirm that the interpreter displayed the current path?

##### Try to open the project and create a parent folder with two children folders using the command "mkdir". Then enter the parent folder and do "pwd".

###### Can you confirm that the interpreter displayed the current path?

##### Try to enter a directory of your choice by using the command `"cd dir/of/your/choice"`.

###### Can you confirm that the interpreter took you to the correct path? Use `"pwd"` to confirm.

##### Try to run only the command `"cd"`.

###### Can you confirm that the interpreter took you to the users home folder? Use `"pwd"` to confirm.

##### Try to run the command `"ls"` in a directory at your choice. Do the same in your computer terminal.

###### Can you confirm that the output is the same in the project and in your computer terminal?

##### Try to run the command `"ls -l -a -F"` in a directory at your choice. Do the same in your computer terminal.

###### Can you confirm that the output is the same in the project and in your computer terminal?

##### Try to run the commands `"mkdir new_folder1"` and `"mkdir new_folder2"` in a directory of your choice.

###### Can you confirm that the directory `new_folder1` and `new_folder2` were created?

##### Create a document inside the `new_folder1` called `new_doc.txt` with some random text inside. Try to run the command `"cp new_doc.txt ../folder2"` to copy the document to the folder `new_folder2`.

###### Can you confirm that the document `new_doc.txt` is inside the `new_folder2`?

##### Try to run the command `"cat new_folder1/new_doc"`. Do the same in your computer terminal.

###### Can you confirm that the output is the same in the project and in your computer terminal?

##### Try to run the commands `"mv new_folder2 new_folder1"` to move the directory `new_folder2` inside of the directory `new_folder1`.

###### Can you confirm that the directory `new_folder2` is inside of the directory `new_folder1`?

##### Try to run the command `"rm -r new_folder1"` to remove what was created above.

###### Can you confirm that the directory `new_folder1` was removed?

#### Bonus

###### +Did the student added auto complete when you are writting the commands?

###### +Did the student added piping?

###### +Did the student managed the `Ctrl + C`?

###### +Did the student added colors to the errors or directories?

###### +Did the student added redirection?

###### +Did the student added the current path behind the `$`?

###### +Did the student added any other features or commands to the project?
