diff options
Diffstat (limited to 'lib/LuaBridge/Tests/Source/VectorTests.cpp')
-rw-r--r-- | lib/LuaBridge/Tests/Source/VectorTests.cpp | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/lib/LuaBridge/Tests/Source/VectorTests.cpp b/lib/LuaBridge/Tests/Source/VectorTests.cpp deleted file mode 100644 index 386e5b3..0000000 --- a/lib/LuaBridge/Tests/Source/VectorTests.cpp +++ /dev/null @@ -1,99 +0,0 @@ -// https://github.com/vinniefalco/LuaBridge -// -// Copyright 2019, Dmitry Tarakanov -// SPDX-License-Identifier: MIT - -#include "TestBase.h" -#include "TestTypes.h" - -#include "LuaBridge/Vector.h" - -#include <vector> - -template <class T> -struct VectorTest : TestBase -{ -}; - -TYPED_TEST_CASE_P (VectorTest); - -TYPED_TEST_P (VectorTest, LuaRef) -{ - using Traits = TypeTraits <TypeParam>; - - this->runLua ("result = {" + Traits::list () + "}"); - - std::vector <TypeParam> expected (Traits::values ()); - std::vector <TypeParam> actual = this->result (); - ASSERT_EQ (expected, actual); -} - -REGISTER_TYPED_TEST_CASE_P (VectorTest, LuaRef); - -INSTANTIATE_TYPED_TEST_CASE_P(VectorTest, VectorTest, TestTypes); - - -namespace { - -struct Data -{ - /* explicit */ Data (int i) : i (i) {} - - int i; -}; - -bool operator== (const Data& lhs, const Data& rhs) -{ - return lhs.i == rhs.i; -} - -std::ostream& operator<< (std::ostream& lhs, const Data& rhs) -{ - lhs << "{" << rhs.i << "}"; - return lhs; -} - -std::vector <Data> processValues(const std::vector <Data>& data) -{ - return data; -} - -std::vector <Data> processPointers(const std::vector <const Data*>& data) -{ - std::vector <Data> result; - for (const auto* item : data) - { - result.emplace_back (*item); - } - return result; -} - -} // namespace - -struct VectorTests : TestBase -{ -}; - -TEST_F (VectorTests, PassFromLua) -{ - luabridge::getGlobalNamespace (L) - .beginClass <Data> ("Data") - .addConstructor <void (*) (int)> () - .endClass () - .addFunction ("processValues", &processValues) - .addFunction ("processPointers", &processPointers); - - resetResult (); - runLua ("result = processValues ({Data (-1), Data (2)})"); - - ASSERT_EQ ( - std::vector <Data> ({-1, 2}), - result <std::vector <Data>>()); - - resetResult (); - runLua ("result = processValues ({Data (-3), Data (4)})"); - - ASSERT_EQ( - std::vector <Data> ({-3, 4}), - result <std::vector <Data>> ()); -} |