This is a personal project to design and implement common data structures and algorithms using C++ 20 features, including concepts and static polymorphism. Many of the design features mirror C++ STL designs, with some changes. The solution includes both source code and test project with unit tests using GoogleTest and GMock.
The project uses CMake to build the unit tests. Read the full CMake documentation for more information. This will automatically compile all unit tests and build the result to a specified output directory.
Use your preferred method to install cmake on your machine, such as:
- pip - install will
pip install cmake
- chocolatey - install with
choco install cmake
- Install manually
Opening the project in Visual Studio IDE with CMake extensions installed will automatically build the tests; No user interactions neccessary. Test executables will be available under the startup dropdown.
Otherwise if you are building tests manually run the following commands from the project's root directory:
cmake -S . -B out/build
cmake --build out/build
and cmake will build all visible unit tests.
Again, if using Visual Studio IDE simply run the tests under the startup tab and they will appear in your IDEs Test Explorer. To run tests from the command line run the ctest command from the build directory:
cd out/build
ctest