Chromium Code Reviews| Index: cc/quads/list_container_unittest.cc |
| diff --git a/cc/quads/list_container_unittest.cc b/cc/quads/list_container_unittest.cc |
| index aebd10f34b6090279fbbcfbf145bd91f5e863b08..28ae93efbdbace6e2adbd17889077f40269dc820 100644 |
| --- a/cc/quads/list_container_unittest.cc |
| +++ b/cc/quads/list_container_unittest.cc |
| @@ -136,6 +136,22 @@ TEST(ListContainerTest, DestructorCalledOnceWhenErase) { |
| separator.Call(); |
| } |
| +TEST(ListContainerTest, SimpleIndexAccessSharedQuadState) { |
| + ListContainer<SharedQuadState> list; |
| + |
| + size_t size = 3; |
| + SharedQuadState* sqs_1 = list.AllocateAndConstruct<SharedQuadState>(); |
| + SharedQuadState* sqs_2 = list.AllocateAndConstruct<SharedQuadState>(); |
| + SharedQuadState* sqs_3 = list.AllocateAndConstruct<SharedQuadState>(); |
| + |
| + EXPECT_EQ(size, list.size()); |
| + EXPECT_EQ(sqs_1, list.front()); |
| + EXPECT_EQ(sqs_3, list.back()); |
| + EXPECT_EQ(list.front(), list.ElementAt(0)); |
| + EXPECT_EQ(sqs_2, list.ElementAt(1)); |
| + EXPECT_EQ(list.back(), list.ElementAt(2)); |
| +} |
| + |
| TEST(ListContainerTest, SimpleInsertionSharedQuadState) { |
| ListContainer<SharedQuadState> list; |
| @@ -466,5 +482,98 @@ TEST(ListContainerTest, SimpleIterationAndManipulation) { |
| } |
| } |
| +TEST(ListContainerTest, SimpleIterationWithIndexSimpleDrawQuad) { |
|
danakj
2014/09/24 23:55:57
This test seems to be testing iterators, which are
|
| + ListContainer<DrawQuad> list(sizeof(kLargestDrawQuad)); |
| + std::vector<SimpleDrawQuad*> dq_list; |
| + size_t size = 10; |
| + for (size_t i = 0; i < size; ++i) { |
| + dq_list.push_back(list.AllocateAndConstruct<SimpleDrawQuad>()); |
| + } |
| + EXPECT_EQ(size, list.size()); |
| + |
| + for (size_t i = 0; i < size; ++i) { |
| + static_cast<SimpleDrawQuad*>(list.ElementAt(i))->set_value(i); |
| + } |
| + |
| + size_t num_iters_in_list = 0; |
| + { |
| + int i = 0; |
| + std::vector<SimpleDrawQuad*>::const_iterator dq_iter = dq_list.begin(); |
| + for (ListContainer<DrawQuad>::Iterator iter = list.begin(); |
| + iter != list.end(); |
| + ++iter) { |
| + EXPECT_EQ(*dq_iter, &*iter); |
| + EXPECT_EQ(i, static_cast<SimpleDrawQuad&>(*iter).get_value()); |
| + ++i; |
| + ++num_iters_in_list; |
| + ++dq_iter; |
| + } |
| + } |
| + |
| + size_t num_iters_in_vector = 0; |
| + { |
| + int i = 0; |
| + ListContainer<DrawQuad>::Iterator iter = list.begin(); |
| + for (std::vector<SimpleDrawQuad*>::const_iterator dq_iter = dq_list.begin(); |
| + dq_iter != dq_list.end(); |
| + ++dq_iter) { |
| + EXPECT_EQ(*dq_iter, &*iter); |
| + EXPECT_EQ(i, (*dq_iter)->get_value()); |
| + ++i; |
| + ++num_iters_in_vector; |
| + ++iter; |
| + } |
| + } |
| + |
| + EXPECT_EQ(num_iters_in_vector, num_iters_in_list); |
| +} |
| + |
| +TEST(ListContainerTest, |
| + SimpleIterationWithIndexMoreThanOneAllocationSimpleDrawQuad) { |
| + ListContainer<DrawQuad> list(sizeof(kLargestDrawQuad), 2); |
| + std::vector<SimpleDrawQuad*> dq_list; |
| + size_t size = 10; |
| + for (size_t i = 0; i < size; ++i) { |
| + dq_list.push_back(list.AllocateAndConstruct<SimpleDrawQuad>()); |
| + } |
| + EXPECT_EQ(size, list.size()); |
| + |
| + for (size_t i = 0; i < size; ++i) { |
| + static_cast<SimpleDrawQuad*>(list.ElementAt(i))->set_value(i); |
| + } |
| + |
| + size_t num_iters_in_list = 0; |
| + { |
| + int i = 0; |
| + std::vector<SimpleDrawQuad*>::const_iterator dq_iter = dq_list.begin(); |
|
danakj
2014/09/24 23:55:57
similar comment here for this test. i like that yo
|
| + for (ListContainer<DrawQuad>::Iterator iter = list.begin(); |
| + iter != list.end(); |
| + ++iter) { |
| + EXPECT_EQ(*dq_iter, &*iter); |
| + EXPECT_EQ(i, static_cast<SimpleDrawQuad&>(*iter).get_value()); |
| + ++i; |
| + ++num_iters_in_list; |
| + ++dq_iter; |
| + } |
| + } |
| + |
| + size_t num_iters_in_vector = 0; |
| + { |
| + int i = 0; |
| + ListContainer<DrawQuad>::Iterator iter = list.begin(); |
| + for (std::vector<SimpleDrawQuad*>::const_iterator dq_iter = dq_list.begin(); |
| + dq_iter != dq_list.end(); |
| + ++dq_iter) { |
| + EXPECT_EQ(*dq_iter, &*iter); |
| + EXPECT_EQ(i, (*dq_iter)->get_value()); |
| + ++i; |
| + ++num_iters_in_vector; |
| + ++iter; |
| + } |
| + } |
| + |
| + EXPECT_EQ(num_iters_in_vector, num_iters_in_list); |
| +} |
| + |
| } // namespace |
| } // namespace cc |