1// Copyright 2017 The Fuchsia Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#include <fbl/initializer_list.h> 6#include <unittest/unittest.h> 7 8namespace { 9 10void ExpectListContents(size_t expected_size, fbl::initializer_list<int> list) { 11 EXPECT_EQ(expected_size, list.size()); 12 13 size_t index = 0; 14 for (const int *it = list.begin(); it != list.end(); ++it, ++index) { 15 EXPECT_EQ(static_cast<int>(index), *it); 16 } 17 EXPECT_EQ(expected_size, index); 18} 19 20bool empty_test() { 21 BEGIN_TEST; 22 23 ExpectListContents(0u, {}); 24 25 END_TEST; 26} 27 28bool non_empty_test() { 29 BEGIN_TEST; 30 31 ExpectListContents(6u, {0, 1, 2, 3, 4, 5}); 32 33 END_TEST; 34} 35 36} // namespace 37 38BEGIN_TEST_CASE(initializer_list_tests) 39RUN_TEST(empty_test) 40RUN_TEST(non_empty_test) 41END_TEST_CASE(initializer_list_tests) 42