Small fix in profile + profile_test rewritten to gtest.

dev-ui
Zaba999 2012-09-28 21:03:28 +02:00
parent 38ebf4c398
commit df4e3dfb6e
5 changed files with 48 additions and 38 deletions

View File

@ -5,6 +5,7 @@ add_subdirectory(CBot)
add_subdirectory(tools) add_subdirectory(tools)
# Tests # Tests
add_subdirectory(common/test)
add_subdirectory(graphics/engine/test) add_subdirectory(graphics/engine/test)
add_subdirectory(math/test) add_subdirectory(math/test)

View File

@ -104,6 +104,7 @@ bool CProfile::SetLocalProfileInt(std::string section, std::string key, int valu
try try
{ {
m_propertyTree.put(section + "." + key, value); m_propertyTree.put(section + "." + key, value);
m_profileNeedSave = true;
} }
catch (std::exception & e) catch (std::exception & e)
{ {
@ -134,6 +135,7 @@ bool CProfile::SetLocalProfileFloat(std::string section, std::string key, float
try try
{ {
m_propertyTree.put(section + "." + key, value); m_propertyTree.put(section + "." + key, value);
m_profileNeedSave = true;
} }
catch (std::exception & e) catch (std::exception & e)
{ {

View File

@ -1,14 +1,20 @@
cmake_minimum_required(VERSION 2.8) cmake_minimum_required(VERSION 2.8)
set(CMAKE_BUILD_TYPE debug) 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) 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) add_test(profile_test ./profile_test)

View File

@ -8,8 +8,8 @@ string_value=Hello world
int_value=42 int_value=42
[test_multi] [test_multi]
entry=1 entry1=1
entry=2 entry2=2
entry=3 entry3=3
entry=4 entry4=4
entry=5 entry5=5

View File

@ -1,43 +1,44 @@
#include "../profile.h" #include "../profile.h"
#include "../logger.h"
#include <iostream> #include <iostream>
#include <string> #include <string>
#include <vector> #include <vector>
#include <gtest/gtest.h>
using namespace std;
int main() class CProfileTest : public testing::Test
{ {
CProfile profile; protected:
profile.InitCurrentDirectory(); // load colobot.ini file CLogger m_logger;
CProfile m_profile;
string result; };
profile.GetLocalProfileString("test_string", "string_value", result);
if (result != "Hello world") { TEST_F(CProfileTest, ReadTest)
cout << "GetLocalProfileString failed!" << endl; {
return 1; 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; int int_value;
profile.GetLocalProfileInt("test_int", "int_value", int_value); ASSERT_TRUE(m_profile.GetLocalProfileInt("test_int", "int_value", int_value));
if (int_value != 42) { ASSERT_EQ(42, int_value);
cout << "GetLocalProfileInt failed!" << endl;
return 1;
}
float float_value; float float_value;
profile.GetLocalProfileFloat("test_float", "float_value", float_value); ASSERT_TRUE(m_profile.GetLocalProfileFloat("test_float", "float_value", float_value));
if (float_value != 1.5) { ASSERT_FLOAT_EQ(1.5, float_value);
cout << "GetLocalProfileFloat failed!" << endl;
return 1; std::vector<std::string> list;
list = m_profile.GetLocalProfileSection("test_multi", "entry");
ASSERT_EQ(5u, list.size());
} }
vector<string> list; int main(int argc, char *argv[])
list = profile.GetLocalProfileSection("test_multi", "entry"); {
if (list.size() != 5) { ::testing::InitGoogleTest(&argc, argv);
cout << "GetLocalProfileSection failed!" << endl; return RUN_ALL_TESTS();
return 1;
} }
return 0;
}