diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 2dfeb4d9..267b2ec0 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -56,4 +56,8 @@ jobs: - name: Test task 08 working-directory: ${{github.workspace}}/build - run: ./task_08/task_08_tests \ No newline at end of file + run: ./task_08/task_08_tests + + - name: Test task 09 + working-directory: ${{github.workspace}}/build + run: ./task_09/task_09_tests \ No newline at end of file diff --git a/task_09/CMakeLists.txt b/task_09/CMakeLists.txt new file mode 100644 index 00000000..0e239848 --- /dev/null +++ b/task_09/CMakeLists.txt @@ -0,0 +1,39 @@ +cmake_minimum_required(VERSION 3.10) + +get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_LIST_DIR} NAME) +string(REPLACE " " "_" PROJECT_NAME ${PROJECT_NAME}) +project(${PROJECT_NAME} C CXX) + +set(CMAKE_CXX_STANDARD 20) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +file(GLOB_RECURSE source_list "src/*.cpp" "src/*.hpp") +file(GLOB_RECURSE lib_source_list "../lib/src/*.cpp" "../lib/src/*.hpp") +file(GLOB_RECURSE main_source_list "src/main.cpp") +file(GLOB_RECURSE test_source_list "src/*.cpp") +file(GLOB_RECURSE test_list "src/*test.cpp") + +list(REMOVE_ITEM test_source_list ${main_source_list}) +list(REMOVE_ITEM source_list ${test_list}) + +include_directories(${PROJECT_NAME} PUBLIC src) +include_directories(${PROJECT_NAME} PUBLIC ../lib/src) + +add_executable(${PROJECT_NAME} ${source_list}) +target_link_libraries(${PROJECT_NAME} PUBLIC Utils) + +# Locate GTest +enable_testing() +find_package(GTest REQUIRED) +include_directories(${GTEST_INCLUDE_DIRS}) + +# Link runTests with what we want to test and the GTest and pthread library +add_executable(${PROJECT_NAME}_tests ${test_source_list}) +target_link_libraries( + ${PROJECT_NAME}_tests + GTest::gtest_main + Utils +) + +include(GoogleTest) +gtest_discover_tests(${PROJECT_NAME}_tests) diff --git a/task_09/README.md b/task_09/README.md new file mode 100644 index 00000000..ed0b93bd --- /dev/null +++ b/task_09/README.md @@ -0,0 +1,7 @@ +# Задача о размене монет + +Данно число и вектор с номиналами монет, нужно вернуть минимальное количество монет которое можно набрать данными номиналами. + +Примеры: +1) Данно число 14, и номиналы [1, 2, 5, 10], мы должны вернуть число 3 (10 * 1 + 2 * 2) +2) Данно число 19, и номиналы [1, 2, 5, 10], мы должны вернуть число 4 (10 * 1 + 5 * 1 + 2 * 2) \ No newline at end of file diff --git a/task_09/src/main.cpp b/task_09/src/main.cpp new file mode 100644 index 00000000..0e4393ba --- /dev/null +++ b/task_09/src/main.cpp @@ -0,0 +1,3 @@ +#include + +int main() { return 0; } diff --git a/task_09/src/test.cpp b/task_09/src/test.cpp new file mode 100644 index 00000000..869094dd --- /dev/null +++ b/task_09/src/test.cpp @@ -0,0 +1,4 @@ + +#include + +TEST(TopologySort, Simple) { ASSERT_EQ(1, 1); }