# What does this project contain? This directory holds an (almost) empty C project. It can be used as a template for your own project. It contains of: + a main which is the starting point for you program + an example of a c and corresponding header file * you have to complete the swap code. + an example of a unittest ## Directory structure Directory | Purpose ---|--- product | Holds the main.c file and c-source files that are **only** needed to build the **main** executable. test | Holds all the unit tests that are used are build the **main_test** executable. shared | Holds the files that are used by both the **main** as **main_test** executable. In general these are the c-source files that you wish to unit test. build | Holds the build [artifacts](https://en.wikipedia.org/wiki/Artifact_(software_development): **main** and **main_test** # System Preconditions Preconditions before this project can be used: + up and running linux (virtual) machine + GIT client up and running + working copy of this git repository available # Project use To prepare your own working environment it is advised to follow the following steps: + open your virtual machine + start linux image + COPY this project directory to your own GIT archive. Think about the directory where you want put it and how you are going to name it. + start visual studio code and load the project + start a terminal in visual studio code # Building the code You build the code by using a terminal: Action | Terminal command to type ---|--- Build main code: | make main Build test code: | make main_test Build all code: | make all Run main code: | make run Run test code: | make test If you type make run and you get this message: *failed, the implementation is empty.* Then you have succesfully installed and ran the code. If not, you have the fix whatever there needs to be fixed. # Debugging This project is configure to debug the test code. Please refer to [https://code.visualstudio.com/docs/editor/debugging] on how to debug this code. # Personal projects If you have succesfully altered this project, commit & push it to your git archive. Once this is done you have completed one complete development cycle and you can apply this knowledge in challenges to come.