GTests: were using C++11 feature

This commit is contained in:
Campbell Barton
2016-01-19 20:44:57 +11:00
parent df465368ba
commit dea38d78c4
2 changed files with 33 additions and 26 deletions

View File

@@ -34,10 +34,10 @@ TEST(array_utils, ReverseString4)
TEST(array_utils, ReverseInt4) TEST(array_utils, ReverseInt4)
{ {
const std::vector<int> data_cmp = {3, 2, 1, 0}; const int data_cmp[] = {3, 2, 1, 0};
std::vector<int> data = {0, 1, 2, 3}; int data[] = {0, 1, 2, 3};
BLI_array_reverse(data.data(), data.size()); BLI_array_reverse(data, ARRAY_SIZE(data));
EXPECT_EQ(data, data_cmp); EXPECT_EQ_ARRAY(data_cmp, data, ARRAY_SIZE(data));
} }
/* BLI_array_findindex */ /* BLI_array_findindex */
@@ -72,49 +72,49 @@ TEST(array_utils, FindIndexInt4)
} }
/* BLI_array_binary_and */ /* BLI_array_binary_and */
#define BINARY_AND_TEST(data_cmp, data_a, data_b, data_combine) \ #define BINARY_AND_TEST(data_cmp, data_a, data_b, data_combine, length) \
{ \ { \
data_combine.resize(data_cmp.size()); \ BLI_array_binary_and(data_combine, data_a, data_b, length); \
BLI_array_binary_and(data_combine.data(), data_a.data(), data_b.data(), data_cmp.size()); \ EXPECT_EQ_ARRAY(data_cmp, data_combine, length); \
EXPECT_EQ(data_combine, data_cmp); \
} ((void)0) } ((void)0)
TEST(array_utils, BinaryAndInt4Zero) TEST(array_utils, BinaryAndInt4Zero)
{ {
std::vector<int> data_a = {0, 1, 0, 1}, data_b = {1, 0, 1, 0}, data_cmp = {0, 0, 0, 0}; const int data_cmp[] = {0, 0, 0, 0};
std::vector<int> data_combine; int data_a[] = {0, 1, 0, 1}, data_b[] = {1, 0, 1, 0};
BINARY_AND_TEST(data_cmp, data_a, data_b, data_combine); int data_combine[ARRAY_SIZE(data_cmp)];
BINARY_AND_TEST(data_cmp, data_a, data_b, data_combine, ARRAY_SIZE(data_cmp));
} }
TEST(array_utils, BinaryAndInt4Mix) TEST(array_utils, BinaryAndInt4Mix)
{ {
std::vector<int> data_a = {1, 1, 1, 1}, data_b = {1, 0, 1, 0}, data_cmp = {1, 0, 1, 0}; const int data_cmp[] = {1, 0, 1, 0};
std::vector<int> data_combine; int data_a[] = {1, 1, 1, 1}, data_b[] = {1, 0, 1, 0};
BINARY_AND_TEST(data_cmp, data_a, data_b, data_combine); int data_combine[ARRAY_SIZE(data_cmp)];
BINARY_AND_TEST(data_cmp, data_a, data_b, data_combine, ARRAY_SIZE(data_cmp));
} }
#undef BINARY_AND_TEST #undef BINARY_AND_TEST
/* BLI_array_binary_or */ /* BLI_array_binary_or */
#define BINARY_OR_TEST(data_cmp, data_a, data_b, data_combine) \ #define BINARY_OR_TEST(data_cmp, data_a, data_b, data_combine, length) \
{ \ { \
data_combine.resize(data_cmp.size()); \ BLI_array_binary_or(data_combine, data_a, data_b, length); \
BLI_array_binary_or(data_combine.data(), data_a.data(), data_b.data(), data_cmp.size()); \ EXPECT_EQ_ARRAY(data_combine, data_cmp, length); \
EXPECT_EQ(data_combine, data_cmp); \ } ((void)0)
} ((void)0)
TEST(array_utils, BinaryOrInt4Alternate) TEST(array_utils, BinaryOrInt4Alternate)
{ {
std::vector<int> data_a = {0, 1, 0, 1}, data_b = {1, 0, 1, 0}, data_cmp = {1, 1, 1, 1}; int data_a[] = {0, 1, 0, 1}, data_b[] = {1, 0, 1, 0}, data_cmp[] = {1, 1, 1, 1};
std::vector<int> data_combine; int data_combine[ARRAY_SIZE(data_cmp)];
BINARY_OR_TEST(data_cmp, data_a, data_b, data_combine); BINARY_OR_TEST(data_cmp, data_a, data_b, data_combine, ARRAY_SIZE(data_cmp));
} }
TEST(array_utils, BinaryOrInt4Mix) TEST(array_utils, BinaryOrInt4Mix)
{ {
std::vector<int> data_a = {1, 1, 0, 0}, data_b = {0, 0, 1, 0}, data_cmp = {1, 1, 1, 0}; int data_a[] = {1, 1, 0, 0}, data_b[] = {0, 0, 1, 0}, data_cmp[] = {1, 1, 1, 0};
std::vector<int> data_combine; int data_combine[ARRAY_SIZE(data_cmp)];
BINARY_OR_TEST(data_cmp, data_a, data_b, data_combine); BINARY_OR_TEST(data_cmp, data_a, data_b, data_combine, ARRAY_SIZE(data_cmp));
} }
#undef BINARY_OR_TEST #undef BINARY_OR_TEST

View File

@@ -75,4 +75,11 @@ double CosinusBetweenMatrices(const TMat &a, const TMat &b) {
} }
#endif #endif
template <typename T>
inline void EXPECT_EQ_ARRAY(const T *expected, T *actual, const size_t N) {
for(size_t i = 0; i < N; ++i) {
EXPECT_EQ(expected[i], actual[i]);
}
}
#endif // __BLENDER_TESTING_H__ #endif // __BLENDER_TESTING_H__