This commit is contained in:
Eero Holmala 2023-06-27 11:53:21 +03:00
parent 6c5d3f4e79
commit 51d20067c6
10 changed files with 112 additions and 9 deletions

View File

@ -70,7 +70,8 @@
"xlocbuf": "cpp",
"xlocmes": "cpp",
"xlocmon": "cpp",
"xloctime": "cpp"
"xloctime": "cpp",
"array": "cpp"
},
"cmake.configureOnOpen": true
}

View File

@ -92,7 +92,7 @@ namespace App
opengl_shader_compile_source(fs, fs_source);
m_prog = glCreateProgram();
opengl_shader_link_program(m_prog, vs, fs);
// opengl_shader_link_program(m_prog, vs, fs);
GLint uniform_angle = glGetUniformLocation(m_prog, "angle");

View File

@ -0,0 +1,26 @@
#include "Algorithm.hh"
namespace Core
{
vector<int> Algorithm::selection_sort(vector<int> &arr)
{
vector<int> ret = vector<int>();
int sorted_index = 0;
if(arr.size() == 0 || arr.size() == 1)
{
return arr;
}
for (int elem : arr)
{
}
return arr;
}
} // namespace Core

View File

@ -0,0 +1,16 @@
// https://www.interviewcake.com/sorting-algorithm-cheat-sheet
#pragma once
#include <vector>
using std::vector;
namespace Core {
class Algorithm
{
public:
static vector<int> selection_sort(vector<int> &arr);
private:
};
} // namespace Core

17
App/Tests/AlgoTest.cpp Normal file
View File

@ -0,0 +1,17 @@
#include <gtest/gtest.h>
#include <gmock/gmock.h>
#include "Helpers.hh"
using namespace Core;
using std::vector;
TEST(Algo, selection_sort)
{
EXPECT_CALL(turtle, PenDown()) // #3
.Times(AtLeast(1));
vector<int> vec1 = vector<int>{3,2,1,35,24};
vector<int> vec2 = Algorithm::selection_sort(vec1);
ASSERT_TRUE(Helpers::is_sorted(vec2) == true);
}

7
App/Tests/AllTests.cpp Normal file
View File

@ -0,0 +1,7 @@
#include <gtest/gtest.h>
int main(int argc, char **argv)
{
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}

View File

@ -4,9 +4,14 @@ enable_testing()
add_executable(
AppTest
AllTests.cpp
MathTest.cpp
AlgoTest.cpp
Helpers.hh
MockAlgorithm.hh
)
target_include_directories(App PUBLIC "${CMAKE_SOURCE_DIR}/AppLib/include/AppLib")
find_package(GTest CONFIG REQUIRED)
@ -25,4 +30,5 @@ endif()
include(GoogleTest)
gtest_discover_tests(AppTest)
add_test(MathTest AppTest)
add_test(AppTest AppTest)
# add_test(MathTest AppTest)

21
App/Tests/Helpers.hh Normal file
View File

@ -0,0 +1,21 @@
#include <vector>
class Helpers {
public:
static bool is_sorted(std::vector<int> &arr)
{
int index = 0;
for (auto e : arr)
{
if(index == 0)
index++;
continue;
if(e < arr[index-1])
return false;
index++;
}
return true;
}
};

View File

@ -21,9 +21,4 @@ TEST(Math, Vector2_Add)
}
//TODO (Eero): Add tests for Vector2
//TODO (Eero): Add tests for Vector3
int main(int argc, char** argv)
{
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
//TODO (Eero): Add tests for Vector3

View File

@ -0,0 +1,14 @@
#include <vector>
#include <gmock/gmock.h>
#include "Algorithm.hh"
using std:: vector;
namespace Core
{
class MockAlgorithm : Algorithm
{
public:
MOCK_METHOD(vector<int>, selection_sort, (vector<int> arr&), ());
};
}