Small fix in profile + profile_test rewritten to gtest.
parent
38ebf4c398
commit
df4e3dfb6e
|
@ -5,6 +5,7 @@ add_subdirectory(CBot)
|
|||
add_subdirectory(tools)
|
||||
|
||||
# Tests
|
||||
add_subdirectory(common/test)
|
||||
add_subdirectory(graphics/engine/test)
|
||||
add_subdirectory(math/test)
|
||||
|
||||
|
|
|
@ -104,6 +104,7 @@ bool CProfile::SetLocalProfileInt(std::string section, std::string key, int valu
|
|||
try
|
||||
{
|
||||
m_propertyTree.put(section + "." + key, value);
|
||||
m_profileNeedSave = true;
|
||||
}
|
||||
catch (std::exception & e)
|
||||
{
|
||||
|
@ -134,6 +135,7 @@ bool CProfile::SetLocalProfileFloat(std::string section, std::string key, float
|
|||
try
|
||||
{
|
||||
m_propertyTree.put(section + "." + key, value);
|
||||
m_profileNeedSave = true;
|
||||
}
|
||||
catch (std::exception & e)
|
||||
{
|
||||
|
|
|
@ -1,14 +1,20 @@
|
|||
cmake_minimum_required(VERSION 2.8)
|
||||
|
||||
set(CMAKE_BUILD_TYPE debug)
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-Wall -g -O0 -std=c++11")
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "-g -O0 -Wall -Wold-style-cast -std=gnu++0x")
|
||||
|
||||
include_directories(
|
||||
.
|
||||
../..
|
||||
../../..
|
||||
${GTEST_DIR}/include
|
||||
)
|
||||
|
||||
include_directories("../../")
|
||||
include_directories("../../../")
|
||||
|
||||
add_executable(image_test ../image.cpp image_test.cpp)
|
||||
target_link_libraries(image_test -lpng -lSDL -lSDL_image)
|
||||
target_link_libraries(image_test ${SDL_LIBRARY} ${SDLIMAGE_LIBRARY} ${PNG_LIBRARIES})
|
||||
|
||||
add_executable(profile_test ../profile.cpp profile_test.cpp)
|
||||
add_executable(profile_test ../profile.cpp ../logger.cpp profile_test.cpp)
|
||||
target_link_libraries(profile_test gtest ${Boost_LIBRARIES})
|
||||
|
||||
add_test(profile_test ./profile_test)
|
||||
|
|
|
@ -8,8 +8,8 @@ string_value=Hello world
|
|||
int_value=42
|
||||
|
||||
[test_multi]
|
||||
entry=1
|
||||
entry=2
|
||||
entry=3
|
||||
entry=4
|
||||
entry=5
|
||||
entry1=1
|
||||
entry2=2
|
||||
entry3=3
|
||||
entry4=4
|
||||
entry5=5
|
||||
|
|
|
@ -1,43 +1,44 @@
|
|||
#include "../profile.h"
|
||||
#include "../logger.h"
|
||||
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
using namespace std;
|
||||
|
||||
int main()
|
||||
class CProfileTest : public testing::Test
|
||||
{
|
||||
CProfile profile;
|
||||
profile.InitCurrentDirectory(); // load colobot.ini file
|
||||
protected:
|
||||
CLogger m_logger;
|
||||
CProfile m_profile;
|
||||
|
||||
string result;
|
||||
profile.GetLocalProfileString("test_string", "string_value", result);
|
||||
if (result != "Hello world") {
|
||||
cout << "GetLocalProfileString failed!" << endl;
|
||||
return 1;
|
||||
}
|
||||
};
|
||||
|
||||
TEST_F(CProfileTest, ReadTest)
|
||||
{
|
||||
ASSERT_TRUE(m_profile.InitCurrentDirectory()); // load colobot.ini file
|
||||
|
||||
std::string result;
|
||||
ASSERT_TRUE(m_profile.GetLocalProfileString("test_string", "string_value", result));
|
||||
ASSERT_STREQ("Hello world", result.c_str());
|
||||
|
||||
int int_value;
|
||||
profile.GetLocalProfileInt("test_int", "int_value", int_value);
|
||||
if (int_value != 42) {
|
||||
cout << "GetLocalProfileInt failed!" << endl;
|
||||
return 1;
|
||||
}
|
||||
ASSERT_TRUE(m_profile.GetLocalProfileInt("test_int", "int_value", int_value));
|
||||
ASSERT_EQ(42, int_value);
|
||||
|
||||
float float_value;
|
||||
profile.GetLocalProfileFloat("test_float", "float_value", float_value);
|
||||
if (float_value != 1.5) {
|
||||
cout << "GetLocalProfileFloat failed!" << endl;
|
||||
return 1;
|
||||
}
|
||||
ASSERT_TRUE(m_profile.GetLocalProfileFloat("test_float", "float_value", float_value));
|
||||
ASSERT_FLOAT_EQ(1.5, float_value);
|
||||
|
||||
vector<string> list;
|
||||
list = profile.GetLocalProfileSection("test_multi", "entry");
|
||||
if (list.size() != 5) {
|
||||
cout << "GetLocalProfileSection failed!" << endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
std::vector<std::string> list;
|
||||
list = m_profile.GetLocalProfileSection("test_multi", "entry");
|
||||
ASSERT_EQ(5u, list.size());
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
::testing::InitGoogleTest(&argc, argv);
|
||||
return RUN_ALL_TESTS();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue