Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1834)

Unified Diff: base/linked_list_unittest.cc

Issue 11360174: Move stack_container and linked_list to the new containers subdirectory. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/linked_list.h ('k') | base/stack_container.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/linked_list_unittest.cc
diff --git a/base/linked_list_unittest.cc b/base/linked_list_unittest.cc
deleted file mode 100644
index 367564cf5c3b3389f2c9ee7575c9c778d9da4d42..0000000000000000000000000000000000000000
--- a/base/linked_list_unittest.cc
+++ /dev/null
@@ -1,261 +0,0 @@
-// Copyright (c) 2009 The Chromium 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 "base/linked_list.h"
-#include "base/basictypes.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-namespace base {
-namespace {
-
-class Node : public LinkNode<Node> {
- public:
- explicit Node(int id) : id_(id) {}
-
- int id() const { return id_; }
-
- private:
- int id_;
-};
-
-class MultipleInheritanceNodeBase {
- public:
- MultipleInheritanceNodeBase() : field_taking_up_space_(0) {}
- int field_taking_up_space_;
-};
-
-class MultipleInheritanceNode : public MultipleInheritanceNodeBase,
- public LinkNode<MultipleInheritanceNode> {
- public:
- MultipleInheritanceNode() {}
-};
-
-// Checks that when iterating |list| (either from head to tail, or from
-// tail to head, as determined by |forward|), we get back |node_ids|,
-// which is an array of size |num_nodes|.
-void ExpectListContentsForDirection(const LinkedList<Node>& list,
- int num_nodes, const int* node_ids, bool forward) {
- int i = 0;
- for (const LinkNode<Node>* node = (forward ? list.head() : list.tail());
- node != list.end();
- node = (forward ? node->next() : node->previous())) {
- ASSERT_LT(i, num_nodes);
- int index_of_id = forward ? i : num_nodes - i - 1;
- EXPECT_EQ(node_ids[index_of_id], node->value()->id());
- ++i;
- }
- EXPECT_EQ(num_nodes, i);
-}
-
-void ExpectListContents(const LinkedList<Node>& list,
- int num_nodes,
- const int* node_ids) {
- {
- SCOPED_TRACE("Iterating forward (from head to tail)");
- ExpectListContentsForDirection(list, num_nodes, node_ids, true);
- }
- {
- SCOPED_TRACE("Iterating backward (from tail to head)");
- ExpectListContentsForDirection(list, num_nodes, node_ids, false);
- }
-}
-
-TEST(LinkedList, Empty) {
- LinkedList<Node> list;
- EXPECT_EQ(list.end(), list.head());
- EXPECT_EQ(list.end(), list.tail());
- ExpectListContents(list, 0, NULL);
-}
-
-TEST(LinkedList, Append) {
- LinkedList<Node> list;
- ExpectListContents(list, 0, NULL);
-
- Node n1(1);
- list.Append(&n1);
-
- EXPECT_EQ(&n1, list.head());
- EXPECT_EQ(&n1, list.tail());
- {
- const int expected[] = {1};
- ExpectListContents(list, arraysize(expected), expected);
- }
-
- Node n2(2);
- list.Append(&n2);
-
- EXPECT_EQ(&n1, list.head());
- EXPECT_EQ(&n2, list.tail());
- {
- const int expected[] = {1, 2};
- ExpectListContents(list, arraysize(expected), expected);
- }
-
- Node n3(3);
- list.Append(&n3);
-
- EXPECT_EQ(&n1, list.head());
- EXPECT_EQ(&n3, list.tail());
- {
- const int expected[] = {1, 2, 3};
- ExpectListContents(list, arraysize(expected), expected);
- }
-}
-
-TEST(LinkedList, RemoveFromList) {
- LinkedList<Node> list;
-
- Node n1(1);
- Node n2(2);
- Node n3(3);
- Node n4(4);
- Node n5(5);
-
- list.Append(&n1);
- list.Append(&n2);
- list.Append(&n3);
- list.Append(&n4);
- list.Append(&n5);
-
- EXPECT_EQ(&n1, list.head());
- EXPECT_EQ(&n5, list.tail());
- {
- const int expected[] = {1, 2, 3, 4, 5};
- ExpectListContents(list, arraysize(expected), expected);
- }
-
- // Remove from the middle.
- n3.RemoveFromList();
-
- EXPECT_EQ(&n1, list.head());
- EXPECT_EQ(&n5, list.tail());
- {
- const int expected[] = {1, 2, 4, 5};
- ExpectListContents(list, arraysize(expected), expected);
- }
-
- // Remove from the tail.
- n5.RemoveFromList();
-
- EXPECT_EQ(&n1, list.head());
- EXPECT_EQ(&n4, list.tail());
- {
- const int expected[] = {1, 2, 4};
- ExpectListContents(list, arraysize(expected), expected);
- }
-
- // Remove from the head.
- n1.RemoveFromList();
-
- EXPECT_EQ(&n2, list.head());
- EXPECT_EQ(&n4, list.tail());
- {
- const int expected[] = {2, 4};
- ExpectListContents(list, arraysize(expected), expected);
- }
-
- // Empty the list.
- n2.RemoveFromList();
- n4.RemoveFromList();
-
- ExpectListContents(list, 0, NULL);
- EXPECT_EQ(list.end(), list.head());
- EXPECT_EQ(list.end(), list.tail());
-
- // Fill the list once again.
- list.Append(&n1);
- list.Append(&n2);
- list.Append(&n3);
- list.Append(&n4);
- list.Append(&n5);
-
- EXPECT_EQ(&n1, list.head());
- EXPECT_EQ(&n5, list.tail());
- {
- const int expected[] = {1, 2, 3, 4, 5};
- ExpectListContents(list, arraysize(expected), expected);
- }
-}
-
-TEST(LinkedList, InsertBefore) {
- LinkedList<Node> list;
-
- Node n1(1);
- Node n2(2);
- Node n3(3);
- Node n4(4);
-
- list.Append(&n1);
- list.Append(&n2);
-
- EXPECT_EQ(&n1, list.head());
- EXPECT_EQ(&n2, list.tail());
- {
- const int expected[] = {1, 2};
- ExpectListContents(list, arraysize(expected), expected);
- }
-
- n3.InsertBefore(&n2);
-
- EXPECT_EQ(&n1, list.head());
- EXPECT_EQ(&n2, list.tail());
- {
- const int expected[] = {1, 3, 2};
- ExpectListContents(list, arraysize(expected), expected);
- }
-
- n4.InsertBefore(&n1);
-
- EXPECT_EQ(&n4, list.head());
- EXPECT_EQ(&n2, list.tail());
- {
- const int expected[] = {4, 1, 3, 2};
- ExpectListContents(list, arraysize(expected), expected);
- }
-}
-
-TEST(LinkedList, InsertAfter) {
- LinkedList<Node> list;
-
- Node n1(1);
- Node n2(2);
- Node n3(3);
- Node n4(4);
-
- list.Append(&n1);
- list.Append(&n2);
-
- EXPECT_EQ(&n1, list.head());
- EXPECT_EQ(&n2, list.tail());
- {
- const int expected[] = {1, 2};
- ExpectListContents(list, arraysize(expected), expected);
- }
-
- n3.InsertAfter(&n2);
-
- EXPECT_EQ(&n1, list.head());
- EXPECT_EQ(&n3, list.tail());
- {
- const int expected[] = {1, 2, 3};
- ExpectListContents(list, arraysize(expected), expected);
- }
-
- n4.InsertAfter(&n1);
-
- EXPECT_EQ(&n1, list.head());
- EXPECT_EQ(&n3, list.tail());
- {
- const int expected[] = {1, 4, 2, 3};
- ExpectListContents(list, arraysize(expected), expected);
- }
-}
-
-TEST(LinkedList, MultipleInheritanceNode) {
- MultipleInheritanceNode node;
- EXPECT_EQ(&node, node.value());
-}
-
-} // namespace
-} // namespace base
« no previous file with comments | « base/linked_list.h ('k') | base/stack_container.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698