diff options
Diffstat (limited to 'src/common/test')
-rw-r--r-- | src/common/test/CMakeLists.txt | 8 | ||||
-rw-r--r-- | src/common/test/colobot.ini | 15 | ||||
-rw-r--r-- | src/common/test/profile_test.cpp | 43 |
3 files changed, 65 insertions, 1 deletions
diff --git a/src/common/test/CMakeLists.txt b/src/common/test/CMakeLists.txt index 680116c..d81acab 100644 --- a/src/common/test/CMakeLists.txt +++ b/src/common/test/CMakeLists.txt @@ -1,6 +1,12 @@ cmake_minimum_required(VERSION 2.8) set(CMAKE_BUILD_TYPE debug) -set(CMAKE_CXX_FLAGS_DEBUG "-Wall -g -O0") +set(CMAKE_CXX_FLAGS_DEBUG "-Wall -g -O0 -std=c++11") + +include_directories("../../") +include_directories("../../../") add_executable(image_test ../image.cpp image_test.cpp) +add_executable(profile_test ../profile.cpp profile_test.cpp) + +add_test(profile_test ./profile_test) diff --git a/src/common/test/colobot.ini b/src/common/test/colobot.ini new file mode 100644 index 0000000..f6a5f96 --- /dev/null +++ b/src/common/test/colobot.ini @@ -0,0 +1,15 @@ +[test_float] +float_value=1.5 + +[test_string] +string_value=Hello world + +[test_int] +int_value=42 + +[test_multi] +entry=1 +entry=2 +entry=3 +entry=4 +entry=5 diff --git a/src/common/test/profile_test.cpp b/src/common/test/profile_test.cpp new file mode 100644 index 0000000..65e20c5 --- /dev/null +++ b/src/common/test/profile_test.cpp @@ -0,0 +1,43 @@ +#include "../profile.h" + +#include <iostream> +#include <string> +#include <vector> + +using namespace std; + +int main() +{ + CProfile profile; + profile.InitCurrentDirectory(); // load colobot.ini file + + string result; + profile.GetLocalProfileString("test_string", "string_value", result); + if (result != "Hello world") { + cout << "GetLocalProfileString failed!" << endl; + return 1; + } + + int int_value; + profile.GetLocalProfileInt("test_int", "int_value", int_value); + if (int_value != 42) { + cout << "GetLocalProfileInt failed!" << endl; + return 1; + } + + float float_value; + profile.GetLocalProfileFloat("test_float", "float_value", float_value); + if (float_value != 1.5) { + cout << "GetLocalProfileFloat failed!" << endl; + return 1; + } + + vector<string> list; + list = profile.GetLocalProfileSection("test_multi", "entry"); + if (list.size() != 5) { + cout << "GetLocalProfileSection failed!" << endl; + return 1; + } + + return 0; +} |