aboutsummaryrefslogtreecommitdiffstats
path: root/native/jni/tests/utils/int_array_view_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'native/jni/tests/utils/int_array_view_test.cpp')
-rw-r--r--native/jni/tests/utils/int_array_view_test.cpp22
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