diff options
Diffstat (limited to 'cras/src/tests/array_unittest.cc')
-rw-r--r-- | cras/src/tests/array_unittest.cc | 116 |
1 files changed, 0 insertions, 116 deletions
diff --git a/cras/src/tests/array_unittest.cc b/cras/src/tests/array_unittest.cc deleted file mode 100644 index e95cd713..00000000 --- a/cras/src/tests/array_unittest.cc +++ /dev/null @@ -1,116 +0,0 @@ -// Copyright (c) 2012 The Chromium OS Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "array.h" - -#include <gtest/gtest.h> - -namespace { - -struct point { - int x, y; -}; - -DECLARE_ARRAY_TYPE(double, double_array); -DECLARE_ARRAY_TYPE(struct point, point_array); - -TEST(ArrayTest, Basic) { - double_array a = ARRAY_INIT; - - /* create an array {1.0, 2.0} */ - ARRAY_APPEND(&a, 1.0); - double* p = ARRAY_APPEND_ZERO(&a); - EXPECT_EQ(0.0, *p); - *p = 2.0; - - EXPECT_EQ(2, ARRAY_COUNT(&a)); - EXPECT_EQ(2, a.count); - EXPECT_GE(a.size, 2); - EXPECT_EQ(1.0, *ARRAY_ELEMENT(&a, 0)); - EXPECT_EQ(2.0, *ARRAY_ELEMENT(&a, 1)); - EXPECT_EQ(1.0, a.element[0]); - EXPECT_EQ(2.0, a.element[1]); - EXPECT_EQ(0, ARRAY_FIND(&a, 1.0)); - EXPECT_EQ(1, ARRAY_FIND(&a, 2.0)); - EXPECT_EQ(-1, ARRAY_FIND(&a, 0.0)); - EXPECT_EQ(0, ARRAY_INDEX(&a, ARRAY_ELEMENT(&a, 0))); - EXPECT_EQ(1, ARRAY_INDEX(&a, ARRAY_ELEMENT(&a, 1))); - - ARRAY_FREE(&a); - EXPECT_EQ(0, ARRAY_COUNT(&a)); - EXPECT_EQ(0, a.count); - EXPECT_EQ(0, a.size); - EXPECT_EQ(NULL, a.element); -} - -TEST(ArrayTest, StructElement) { - struct point p = {1, 2}; - struct point q = {3, 4}; - point_array a = ARRAY_INIT; - - ARRAY_APPEND(&a, p); - ARRAY_APPEND(&a, q); - - EXPECT_EQ(2, ARRAY_COUNT(&a)); - EXPECT_EQ(1, ARRAY_ELEMENT(&a, 0)->x); - EXPECT_EQ(2, ARRAY_ELEMENT(&a, 0)->y); - EXPECT_EQ(3, a.element[1].x); - EXPECT_EQ(4, a.element[1].y); - ARRAY_ELEMENT(&a, 1)->y = 5; - EXPECT_EQ(5, a.element[1].y); - - ARRAY_FREE(&a); - EXPECT_EQ(0, ARRAY_COUNT(&a)); - EXPECT_EQ(0, a.size); - EXPECT_EQ(NULL, a.element); -} - -TEST(ArrayTest, AppendZeroStruct) { - point_array a = ARRAY_INIT; - struct point *p, *q; - - p = ARRAY_APPEND_ZERO(&a); - EXPECT_EQ(0, p->x); - EXPECT_EQ(0, p->y); - EXPECT_EQ(1, a.count); - - q = ARRAY_APPEND_ZERO(&a); - EXPECT_EQ(0, q->x); - EXPECT_EQ(0, q->y); - EXPECT_EQ(2, a.count); - - ARRAY_FREE(&a); -} - -TEST(ArrayTest, ForLoop) { - int i; - double* p; - double_array a = ARRAY_INIT; - - for (i = 0; i < 100; i++) { - ARRAY_APPEND(&a, i * 2); - } - - int expectedIndex = 0; - double expectedValue = 0; - ARRAY_ELEMENT_FOREACH (&a, i, p) { - EXPECT_EQ(expectedIndex, i); - EXPECT_EQ(expectedValue, *p); - expectedIndex++; - expectedValue += 2; - } - EXPECT_EQ(expectedIndex, 100); - - ARRAY_FREE(&a); - EXPECT_EQ(0, a.count); - EXPECT_EQ(0, a.size); - EXPECT_EQ(NULL, a.element); -} - -} // namespace - -int main(int argc, char** argv) { - ::testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} |