aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/contrib/lite/c/c_api_internal_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tensorflow/contrib/lite/c/c_api_internal_test.cc')
-rw-r--r--tensorflow/contrib/lite/c/c_api_internal_test.cc73
1 files changed, 73 insertions, 0 deletions
diff --git a/tensorflow/contrib/lite/c/c_api_internal_test.cc b/tensorflow/contrib/lite/c/c_api_internal_test.cc
new file mode 100644
index 0000000000..af398f3207
--- /dev/null
+++ b/tensorflow/contrib/lite/c/c_api_internal_test.cc
@@ -0,0 +1,73 @@
+/* Copyright 2017 The TensorFlow Authors. All Rights Reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+==============================================================================*/
+
+#include "tensorflow/contrib/lite/c/c_api_internal.h"
+#include <gtest/gtest.h>
+
+namespace tflite {
+
+// NOTE: this tests only the TfLiteIntArray part of context.
+// most of c_api_internal.h is provided in the context of using it with
+// interpreter.h and interpreter.cc, so interpreter_test.cc tests context
+// structures more thoroughly.
+
+TEST(IntArray, TestIntArrayCreate) {
+ TfLiteIntArray* a = TfLiteIntArrayCreate(0);
+ TfLiteIntArray* b = TfLiteIntArrayCreate(3);
+ TfLiteIntArrayFree(a);
+ TfLiteIntArrayFree(b);
+}
+
+TEST(IntArray, TestIntArrayCopy) {
+ TfLiteIntArray* a = TfLiteIntArrayCreate(2);
+ a->data[0] = 22;
+ a->data[1] = 24;
+ TfLiteIntArray* b = TfLiteIntArrayCopy(a);
+ ASSERT_NE(a, b);
+ ASSERT_EQ(a->size, b->size);
+ ASSERT_EQ(a->data[0], b->data[0]);
+ ASSERT_EQ(a->data[1], b->data[1]);
+ TfLiteIntArrayFree(a);
+ TfLiteIntArrayFree(b);
+}
+
+TEST(IntArray, TestIntArrayEqual) {
+ TfLiteIntArray* a = TfLiteIntArrayCreate(1);
+ a->data[0] = 1;
+ TfLiteIntArray* b = TfLiteIntArrayCreate(2);
+ b->data[0] = 5;
+ b->data[1] = 6;
+ TfLiteIntArray* c = TfLiteIntArrayCreate(2);
+ c->data[0] = 5;
+ c->data[1] = 6;
+ TfLiteIntArray* d = TfLiteIntArrayCreate(2);
+ d->data[0] = 6;
+ d->data[1] = 6;
+ ASSERT_FALSE(TfLiteIntArrayEqual(a, b));
+ ASSERT_TRUE(TfLiteIntArrayEqual(b, c));
+ ASSERT_TRUE(TfLiteIntArrayEqual(b, b));
+ ASSERT_FALSE(TfLiteIntArrayEqual(c, d));
+ TfLiteIntArrayFree(a);
+ TfLiteIntArrayFree(b);
+ TfLiteIntArrayFree(c);
+ TfLiteIntArrayFree(d);
+}
+
+} // namespace tflite
+
+int main(int argc, char** argv) {
+ ::testing::InitGoogleTest(&argc, argv);
+ return RUN_ALL_TESTS();
+}