From cd29bbee70d427619a8c77c988487cd68b030ab1 Mon Sep 17 00:00:00 2001 From: Alexander Bock Date: Wed, 3 Sep 2014 13:14:25 +0200 Subject: [PATCH] Added more conversion tests --- .../openspace/tests/test_luaconversions.inl | 38 +++++++++++++++++-- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/include/openspace/tests/test_luaconversions.inl b/include/openspace/tests/test_luaconversions.inl index 8477615f07..e58f314593 100644 --- a/include/openspace/tests/test_luaconversions.inl +++ b/include/openspace/tests/test_luaconversions.inl @@ -29,6 +29,7 @@ #include #include #include +#include class LuaConversionTest : public testing::Test { protected: @@ -55,6 +56,21 @@ TEST_F(LuaConversionTest, LuaExecution) { EXPECT_EQ(status, LUA_OK); } +#define CONVERSION_TEST_TEMPLATE(__NAME__, __TYPE__, __VALUE__) \ + TEST_F(LuaConversionTest, __NAME__) \ + { \ + using namespace openspace::properties; \ + bool success \ + = PropertyDelegate>::toLuaValue<__TYPE__>( \ + state, __VALUE__); \ + EXPECT_TRUE(success) << "toLuaValue"; \ + __TYPE__ value = __TYPE__(0); \ + value = PropertyDelegate>::fromLuaValue<__TYPE__>( \ + state, success); \ + EXPECT_TRUE(success) << "fromLuaValue"; \ + EXPECT_EQ(value, __VALUE__) << "fromLuaValue"; \ + } + #define CONVERSION_TEST_NUMERICAL(__NAME__, __TYPE__, __VALUE__) \ TEST_F(LuaConversionTest, __NAME__) \ { \ @@ -63,13 +79,15 @@ TEST_F(LuaConversionTest, LuaExecution) { = PropertyDelegate>::toLuaValue<__TYPE__>( \ state, __VALUE__); \ EXPECT_TRUE(success) << "toLuaValue"; \ - __TYPE__ value \ - = PropertyDelegate>::fromLuaValue<__TYPE__>( \ - state, success); \ + __TYPE__ value = __TYPE__(0); \ + value = PropertyDelegate>::fromLuaValue<__TYPE__>( \ + state, success); \ EXPECT_TRUE(success) << "fromLuaValue"; \ EXPECT_EQ(value, __VALUE__) << "fromLuaValue"; \ } +CONVERSION_TEST_TEMPLATE(Bool, bool, true); + CONVERSION_TEST_NUMERICAL(Char, char, 1); CONVERSION_TEST_NUMERICAL(WChar, wchar_t, 1); CONVERSION_TEST_NUMERICAL(SignedChar, signed char, 1); @@ -117,3 +135,17 @@ CONVERSION_TEST_NUMERICAL(DMat3x4, glm::dmat3x4, glm::dmat3x4(1.f)); CONVERSION_TEST_NUMERICAL(DMat4x2, glm::dmat4x2, glm::dmat4x2(1.f)); CONVERSION_TEST_NUMERICAL(DMat4x3, glm::dmat4x3, glm::dmat4x3(1.f)); CONVERSION_TEST_NUMERICAL(DMat4x4, glm::dmat4x4, glm::dmat4x4(1.f)); + +TEST_F(LuaConversionTest, String) +{ + using namespace openspace::properties; + bool success + = PropertyDelegate>::toLuaValue( + state, "value"); + EXPECT_TRUE(success) << "toLuaValue"; + std::string value = ""; + value = PropertyDelegate>::fromLuaValue( + state, success); + EXPECT_TRUE(success) << "fromLuaValue"; + EXPECT_EQ(value, "value") << "fromLuaValue"; +} \ No newline at end of file