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)
# Tests
add_subdirectory(common/test)
add_subdirectory(graphics/engine/test)
add_subdirectory(math/test)

View File

@ -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)
{

View File

@ -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)

View File

@ -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

View File

@ -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();
}