SpiecsEngine
 
Loading...
Searching...
No Matches

◆ TEST_F() [65/72]

SpicesTest::TEST_F ( ThreadPoolFixed_test ,
SubmitTask_Range_FunctionType  )

Testing if submit different type of function successfully.

Definition at line 113 of file ThreadPoolFixed_test.h.

113 {
114
116
117 ThreadPoolFuncTest funcTestClass;
118
119 std::future<bool> future0 = m_ThreadPool.SubmitPoolTask(std::bind((bool(ThreadPoolFuncTest::*)())&ThreadPoolFuncTest::Test, &funcTestClass)); /* @brief Override Class Function. */
120 std::future<std::string> future1 = m_ThreadPool.SubmitPoolTask(std::bind((std::string(ThreadPoolFuncTest::*)(std::string))&ThreadPoolFuncTest::Test, &funcTestClass, "Hello")); /* @brief Override Class Function. */
121 std::future<int> future2 = m_ThreadPool.SubmitPoolTask(std::bind(&ThreadPoolFuncTest::Test0, &funcTestClass, 1, 2)); /* @brief Class Function. */
122 std::future<bool> future3 = m_ThreadPool.SubmitPoolTask(std::bind(&ThreadPoolFuncTest::Test1)); /* @brief Static Class Function. */
123 std::future<float> future4 = m_ThreadPool.SubmitPoolTask(std::bind(&ThreadPoolTestT<float, int&, std::string&&>, 2, "")); /* @brief Template Function. */
124
125 std::future<bool> future5 = m_ThreadPool.SubmitPoolTask([&]() { return funcTestClass.Test(); }); /* @brief Lambda Override Class Function. */
126 std::future<std::string> future6 = m_ThreadPool.SubmitPoolTask([&]() { return funcTestClass.Test("Hello"); }); /* @brief Lambda Override Class Function. */
127 std::future<int> future7 = m_ThreadPool.SubmitPoolTask([&]() { return funcTestClass.Test0(1, 2); }); /* @brief Lambda Class Function. */
128 std::future<bool> future8 = m_ThreadPool.SubmitPoolTask([&]() { return ThreadPoolFuncTest::Test1(); }); /* @brief Lambda Static Class Function. */
129 std::future<float> future9 = m_ThreadPool.SubmitPoolTask([&]() { return ThreadPoolTestT<float, int, std::string>(2, ""); }); /* @brief Lambda Template Function. */
130
131 std::future<bool> future10 = m_ThreadPool.SubmitPoolTask([](bool val) { return val; }, true); /* @brief Lambda Function. */
132
133
134 EXPECT_EQ(future0.get(), true );
135 EXPECT_EQ(future1.get(), "Hello" );
136 EXPECT_EQ(future2.get(), 3 );
137 EXPECT_EQ(future3.get(), false );
138 EXPECT_EQ(future4.get(), 0.0f );
139
140 EXPECT_EQ(future5.get(), true );
141 EXPECT_EQ(future6.get(), "Hello" );
142 EXPECT_EQ(future7.get(), 3 );
143 EXPECT_EQ(future8.get(), false );
144 EXPECT_EQ(future9.get(), 0.0f );
145
146 EXPECT_EQ(future10.get(), true );
147 }
#define SPICESTEST_PROFILE_FUNCTION()
int Test0(int a, int b)
Basic Class Function.
bool Test()
Basic Override Class Function.
STL namespace.