aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/contrib/lite/context_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tensorflow/contrib/lite/context_test.cc')
-rw-r--r--tensorflow/contrib/lite/context_test.cc74
1 files changed, 74 insertions, 0 deletions
diff --git a/tensorflow/contrib/lite/context_test.cc b/tensorflow/contrib/lite/context_test.cc
new file mode 100644
index 0000000000..d0a104f43d
--- /dev/null
+++ b/tensorflow/contrib/lite/context_test.cc
@@ -0,0 +1,74 @@
+/* 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/context.h"
+#include <gtest/gtest.h>
+
+namespace tflite {
+
+// NOTE: this tests only the TfLiteIntArray part of context.
+// most of context.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) {
+ // On Linux, add: tflite::LogToStderr();
+ ::testing::InitGoogleTest(&argc, argv);
+ return RUN_ALL_TESTS();
+}