From 944bb0b93102ecceb39bccecad230770d5eed2e9 Mon Sep 17 00:00:00 2001 From: Ivan Khokhlov Date: Sat, 24 Feb 2024 10:52:27 +0000 Subject: [PATCH 1/3] add tests to gh actions --- .github/workflows/tests.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index aaeaa9d2..2d060ffc 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -28,4 +28,8 @@ jobs: - name: Test task 01 working-directory: ${{github.workspace}}/build - run: ./task_01/task_01_tests \ No newline at end of file + run: ./task_01/task_01_tests + + - name: Test task 02 + working-directory: ${{github.workspace}}/build + run: ./task_01/task_02_tests \ No newline at end of file From 50f12a4927dc0d5b941bb180d38a3235d591969f Mon Sep 17 00:00:00 2001 From: Ivan Khokhlov Date: Sat, 16 Mar 2024 07:36:52 +0000 Subject: [PATCH 2/3] add tsaks and ci tests --- .github/workflows/tests.yaml | 26 +++++++++++++++++++++++- task_04/CMakeLists.txt | 39 ++++++++++++++++++++++++++++++++++++ task_04/README.md | 3 +++ task_04/src/main.cpp | 3 +++ task_04/src/test.cpp | 6 ++++++ task_05/CMakeLists.txt | 39 ++++++++++++++++++++++++++++++++++++ task_05/README.md | 7 +++++++ task_05/src/main.cpp | 3 +++ task_05/src/test.cpp | 6 ++++++ task_06/CMakeLists.txt | 39 ++++++++++++++++++++++++++++++++++++ task_06/README.md | 3 +++ task_06/src/main.cpp | 3 +++ task_06/src/test.cpp | 6 ++++++ task_07/CMakeLists.txt | 39 ++++++++++++++++++++++++++++++++++++ task_07/README.md | 3 +++ task_07/src/main.cpp | 3 +++ task_07/src/test.cpp | 6 ++++++ task_08/CMakeLists.txt | 39 ++++++++++++++++++++++++++++++++++++ task_08/README.md | 3 +++ task_08/src/main.cpp | 3 +++ task_08/src/test.cpp | 6 ++++++ 21 files changed, 284 insertions(+), 1 deletion(-) create mode 100644 task_04/CMakeLists.txt create mode 100644 task_04/README.md create mode 100644 task_04/src/main.cpp create mode 100644 task_04/src/test.cpp create mode 100644 task_05/CMakeLists.txt create mode 100644 task_05/README.md create mode 100644 task_05/src/main.cpp create mode 100644 task_05/src/test.cpp create mode 100644 task_06/CMakeLists.txt create mode 100644 task_06/README.md create mode 100644 task_06/src/main.cpp create mode 100644 task_06/src/test.cpp create mode 100644 task_07/CMakeLists.txt create mode 100644 task_07/README.md create mode 100644 task_07/src/main.cpp create mode 100644 task_07/src/test.cpp create mode 100644 task_08/CMakeLists.txt create mode 100644 task_08/README.md create mode 100644 task_08/src/main.cpp create mode 100644 task_08/src/test.cpp diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 2d060ffc..5bdc8abb 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -32,4 +32,28 @@ jobs: - name: Test task 02 working-directory: ${{github.workspace}}/build - run: ./task_01/task_02_tests \ No newline at end of file + run: ./task_02/task_02_tests + + - name: Test task 03 + working-directory: ${{github.workspace}}/build + run: ./task_03/task_03_tests + + - name: Test task 04 + working-directory: ${{github.workspace}}/build + run: ./task_04/task_04_tests + + - name: Test task 05 + working-directory: ${{github.workspace}}/build + run: ./task_05/task_05_tests + + - name: Test task 06 + working-directory: ${{github.workspace}}/build + run: ./task_06/task_06_tests + + - name: Test task 07 + working-directory: ${{github.workspace}}/build + run: ./task_07/task_07_tests + + - name: Test task 08 + working-directory: ${{github.workspace}}/build + run: ./task_03/task_08_tests \ No newline at end of file diff --git a/task_04/CMakeLists.txt b/task_04/CMakeLists.txt new file mode 100644 index 00000000..0e239848 --- /dev/null +++ b/task_04/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_04/README.md b/task_04/README.md new file mode 100644 index 00000000..eca10891 --- /dev/null +++ b/task_04/README.md @@ -0,0 +1,3 @@ +# Задача на кучу + +В данной задаче необходимо реализовать [кучу](https://ru.wikipedia.org/wiki/%D0%94%D0%B2%D0%BE%D0%B8%D1%87%D0%BD%D0%B0%D1%8F_%D0%BA%D1%83%D1%87%D0%B0), можно пользоваться std::vector \ No newline at end of file diff --git a/task_04/src/main.cpp b/task_04/src/main.cpp new file mode 100644 index 00000000..0e4393ba --- /dev/null +++ b/task_04/src/main.cpp @@ -0,0 +1,3 @@ +#include + +int main() { return 0; } diff --git a/task_04/src/test.cpp b/task_04/src/test.cpp new file mode 100644 index 00000000..5e11617e --- /dev/null +++ b/task_04/src/test.cpp @@ -0,0 +1,6 @@ + +#include + +TEST(TopologySort, Simple) { + ASSERT_EQ(1, 1); // Stack [] +} diff --git a/task_05/CMakeLists.txt b/task_05/CMakeLists.txt new file mode 100644 index 00000000..0e239848 --- /dev/null +++ b/task_05/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_05/README.md b/task_05/README.md new file mode 100644 index 00000000..4329c406 --- /dev/null +++ b/task_05/README.md @@ -0,0 +1,7 @@ +# Задача на сортировку + +В данной задаче необходимо реализовать сортировку одним из эфективных алгоритмов + +* Merge sort +* Quick sort +* Heap sort \ No newline at end of file diff --git a/task_05/src/main.cpp b/task_05/src/main.cpp new file mode 100644 index 00000000..0e4393ba --- /dev/null +++ b/task_05/src/main.cpp @@ -0,0 +1,3 @@ +#include + +int main() { return 0; } diff --git a/task_05/src/test.cpp b/task_05/src/test.cpp new file mode 100644 index 00000000..5e11617e --- /dev/null +++ b/task_05/src/test.cpp @@ -0,0 +1,6 @@ + +#include + +TEST(TopologySort, Simple) { + ASSERT_EQ(1, 1); // Stack [] +} diff --git a/task_06/CMakeLists.txt b/task_06/CMakeLists.txt new file mode 100644 index 00000000..0e239848 --- /dev/null +++ b/task_06/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_06/README.md b/task_06/README.md new file mode 100644 index 00000000..c8658bc9 --- /dev/null +++ b/task_06/README.md @@ -0,0 +1,3 @@ +# Задача на порядковые статистики + +В данной задаче необходимо реализовать поиск n-ой порядковой статистики \ No newline at end of file diff --git a/task_06/src/main.cpp b/task_06/src/main.cpp new file mode 100644 index 00000000..0e4393ba --- /dev/null +++ b/task_06/src/main.cpp @@ -0,0 +1,3 @@ +#include + +int main() { return 0; } diff --git a/task_06/src/test.cpp b/task_06/src/test.cpp new file mode 100644 index 00000000..5e11617e --- /dev/null +++ b/task_06/src/test.cpp @@ -0,0 +1,6 @@ + +#include + +TEST(TopologySort, Simple) { + ASSERT_EQ(1, 1); // Stack [] +} diff --git a/task_07/CMakeLists.txt b/task_07/CMakeLists.txt new file mode 100644 index 00000000..0e239848 --- /dev/null +++ b/task_07/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_07/README.md b/task_07/README.md new file mode 100644 index 00000000..b216be5a --- /dev/null +++ b/task_07/README.md @@ -0,0 +1,3 @@ +# Задача на дерево поиска + +В данной задаче необходимо реализовать дерево поиска \ No newline at end of file diff --git a/task_07/src/main.cpp b/task_07/src/main.cpp new file mode 100644 index 00000000..0e4393ba --- /dev/null +++ b/task_07/src/main.cpp @@ -0,0 +1,3 @@ +#include + +int main() { return 0; } diff --git a/task_07/src/test.cpp b/task_07/src/test.cpp new file mode 100644 index 00000000..5e11617e --- /dev/null +++ b/task_07/src/test.cpp @@ -0,0 +1,6 @@ + +#include + +TEST(TopologySort, Simple) { + ASSERT_EQ(1, 1); // Stack [] +} diff --git a/task_08/CMakeLists.txt b/task_08/CMakeLists.txt new file mode 100644 index 00000000..0e239848 --- /dev/null +++ b/task_08/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_08/README.md b/task_08/README.md new file mode 100644 index 00000000..621d8834 --- /dev/null +++ b/task_08/README.md @@ -0,0 +1,3 @@ +# Задача на хэш таблицу + +В данной задаче необходимо реализовать хэш таблицу \ No newline at end of file diff --git a/task_08/src/main.cpp b/task_08/src/main.cpp new file mode 100644 index 00000000..0e4393ba --- /dev/null +++ b/task_08/src/main.cpp @@ -0,0 +1,3 @@ +#include + +int main() { return 0; } diff --git a/task_08/src/test.cpp b/task_08/src/test.cpp new file mode 100644 index 00000000..5e11617e --- /dev/null +++ b/task_08/src/test.cpp @@ -0,0 +1,6 @@ + +#include + +TEST(TopologySort, Simple) { + ASSERT_EQ(1, 1); // Stack [] +} From 954bae8d65096db12884828c20fbe12748c44d83 Mon Sep 17 00:00:00 2001 From: Ivan Khokhlov Date: Sat, 16 Mar 2024 07:38:24 +0000 Subject: [PATCH 3/3] fix --- .github/workflows/tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 5bdc8abb..2dfeb4d9 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -56,4 +56,4 @@ jobs: - name: Test task 08 working-directory: ${{github.workspace}}/build - run: ./task_03/task_08_tests \ No newline at end of file + run: ./task_08/task_08_tests \ No newline at end of file