diff options
Diffstat (limited to 'native/jni/tests/utils/int_array_view_test.cpp')
-rw-r--r-- | native/jni/tests/utils/int_array_view_test.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/native/jni/tests/utils/int_array_view_test.cpp b/native/jni/tests/utils/int_array_view_test.cpp index 93bad5822..ec57cf59c 100644 --- a/native/jni/tests/utils/int_array_view_test.cpp +++ b/native/jni/tests/utils/int_array_view_test.cpp @@ -18,6 +18,7 @@ #include <gtest/gtest.h> +#include <array> #include <vector> namespace latinime { @@ -89,5 +90,26 @@ TEST(IntArrayViewTest, TestSkip) { } } +TEST(IntArrayViewTest, TestCopyToArray) { + // "{{" to suppress warning. + std::array<int, 7> buffer = {{10, 20, 30, 40, 50, 60, 70}}; + const std::vector<int> intVector = {3, 2, 1, 0, -1, -2}; + IntArrayView intArrayView(intVector); + intArrayView.limit(0).copyToArray(&buffer, 0); + EXPECT_EQ(10, buffer[0]); + EXPECT_EQ(20, buffer[1]); + intArrayView.limit(1).copyToArray(&buffer, 0); + EXPECT_EQ(intVector[0], buffer[0]); + EXPECT_EQ(20, buffer[1]); + intArrayView.limit(1).copyToArray(&buffer, 1); + EXPECT_EQ(intVector[0], buffer[0]); + EXPECT_EQ(intVector[0], buffer[1]); + intArrayView.copyToArray(&buffer, 0); + for (size_t i = 0; i < intArrayView.size(); ++i) { + EXPECT_EQ(intVector[i], buffer[i]); + } + EXPECT_EQ(70, buffer[6]); +} + } // namespace } // namespace latinime |