1 /* 2 * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. 3 * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. 4 */ 5 6 #include "precompiled.hpp" 7 #include "gc/z/zArray.inline.hpp" 8 #include "unittest.hpp" 9 10 TEST(ZArrayTest, test_add) { 11 ZArray<int> a; 12 13 // Add elements 14 for (int i = 0; i < 10; i++) { 15 a.add(i); 16 } 17 18 // Check size 19 ASSERT_EQ(a.size(), 10u); 20 21 // Check elements 22 for (int i = 0; i < 10; i++) { 23 EXPECT_EQ(a.at(i), i); 24 } 25 } 26 27 TEST(ZArrayTest, test_clear) { 28 ZArray<int> a; 29 30 // Add elements 31 for (int i = 0; i < 10; i++) { 32 a.add(i); 33 } 34 35 // Check size 36 ASSERT_EQ(a.size(), 10u); 37 ASSERT_EQ(a.is_empty(), false); 38 39 // Clear elements 40 a.clear(); 41 42 // Check size 43 ASSERT_EQ(a.size(), 0u); 44 ASSERT_EQ(a.is_empty(), true); 45 46 // Add element 47 a.add(11); 48 49 // Check size 50 ASSERT_EQ(a.size(), 1u); 51 ASSERT_EQ(a.is_empty(), false); 52 53 // Clear elements 54 a.clear(); 55 56 // Check size 57 ASSERT_EQ(a.size(), 0u); 58 ASSERT_EQ(a.is_empty(), true); 59 } 60 61 TEST(ZArrayTest, test_iterator) { 62 ZArray<int> a; 63 64 // Add elements 65 for (int i = 0; i < 10; i++) { 66 a.add(i); 67 } 68 69 // Iterate 70 int count = 0; 71 ZArrayIterator<int> iter(&a); 72 for (int value; iter.next(&value);) { 73 ASSERT_EQ(a.at(count), count); 74 count++; 75 } 76 77 // Check count 78 ASSERT_EQ(count, 10); 79 }