Handle time with this console based time management application. Set multiple timers, alrams and start the stopwatch!
C++ for fast, safe and reliable code. Garunteed to work in any Unix based system and is also compatable on windows systems using powershell.
This is a bare bones project. You are welcome to configure a cmake file or just simply compile with GCC or clang
First make sure clang is installed. If you are on Mac it comes pre installed
- Open a terminal
- cd into directory
$ cd Timer-Console/
- Check permissions
$ chmod 777 build.sh
- Run build script using bash
$ bash build.sh
If you ran into build errors you most likely do not have clang installed or a version of clang that is too outdated for the program. Required clang version 17+.
Here are the main types of testing relevant to this project and what should be performed per new feature
In this project we use gtest
Unit Testing Tests individual functions or classes in isolation
Should be fast and run frequently
Example: Testing a Timer::create() method
System Testing Tests the entire application as a whole
Run it. Compile and run it often. Try to break it
Regression Testing Ensures that new changes don’t break old functionality
Run after every change or before pushing new feature
Test often: Write tests as you write code (test-driven development)
Isolate units: Avoid relying on global state or external systems for unit tests
Automate: Add your test scripts in ./build.sh
Mock dependencies: For integration testing, mock out parts of your code (e.g., nlohmann)
When running build.sh gtest should be installed automatically for you and the tests already associated with the application should run. No further configuration should be necessary until new tests are created and need to be added to build.sh
Check out the docs for developers if you are interested in learning how to use this code or develop further with this project.
These docs where generated by Doxygen.