Index: tests/GrTBSearchTest.cpp |
diff --git a/tests/GrTBSearchTest.cpp b/tests/GrTBSearchTest.cpp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..70a24d3197d209711ee3a1c47b51697a88a2629a |
--- /dev/null |
+++ b/tests/GrTBSearchTest.cpp |
@@ -0,0 +1,40 @@ |
+/* |
+ * Copyright 2014 Google Inc. |
+ * |
+ * Use of this source code is governed by a BSD-style license that can be |
+ * found in the LICENSE file. |
+ */ |
+ |
+// This is a GPU-backend specific test |
+#if SK_SUPPORT_GPU |
+ |
+#include "Test.h" |
+ |
+// If we aren't inheriting these as #defines from elsewhere, |
+// clang demands they be declared before we #include the template |
+// that relies on them. |
+static bool LT(const int& elem, int value) { |
+ return elem < value; |
+} |
+static bool EQ(const int& elem, int value) { |
+ return elem == value; |
+} |
+ |
+#include "GrTBSearch.h" |
+ |
+DEF_TEST(GrTBSearchTest, reporter) { |
+ const int array[] = { |
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, 55, 66, 77, 88, 99 |
+ }; |
+ |
+ for (int n = 0; n < static_cast<int>(SK_ARRAY_COUNT(array)); ++n) { |
+ for (int i = 0; i < n; i++) { |
+ int index = GrTBSearch<int, int>(array, n, array[i]); |
+ REPORTER_ASSERT(reporter, index == (int) i); |
+ index = GrTBSearch<int, int>(array, n, -array[i]); |
+ REPORTER_ASSERT(reporter, index < 0); |
+ } |
+ } |
+} |
+ |
+#endif |