chromium/third_party/dawn/src/dawn/tests/unittests/LinkedListTests.cpp

// 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.

// This file is a copy of Chromium's /src/base/containers/linked_list_unittest.cc

#include <list>
#include <utility>

#include "dawn/common/LinkedList.h"
#include "gtest/gtest.h"

namespace dawn {
namespace {

class Node : public LinkNode<Node> {};

class MultipleInheritanceNodeBase {};

class MultipleInheritanceNode : public MultipleInheritanceNodeBase,
                                public LinkNode<MultipleInheritanceNode> {};

class MovableNode : public LinkNode<MovableNode> {};

// 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) {}

void ExpectListContents(const LinkedList<Node>& list, int num_nodes, const int* node_ids) {}

TEST(LinkedList, Empty) {}

TEST(LinkedList, Append) {}

TEST(LinkedList, Prepend) {}

TEST(LinkedList, RemoveFromList) {}

TEST(LinkedList, InsertBefore) {}

TEST(LinkedList, InsertAfter) {}

TEST(LinkedList, MultipleInheritanceNode) {}

TEST(LinkedList, EmptyListIsEmpty) {}

TEST(LinkedList, NonEmptyListIsNotEmpty) {}

TEST(LinkedList, EmptiedListIsEmptyAgain) {}

TEST(LinkedList, NodesCanBeReused) {}

TEST(LinkedList, RemovedNodeHasNullNextPrevious) {}

TEST(LinkedList, NodeMoveConstructor) {}

TEST(LinkedList, IsInList) {}

TEST(LinkedList, MoveInto) {}

TEST(LinkedList, MoveEmptyListInto) {}

TEST(LinkedList, MoveIntoEmpty) {}

TEST(LinkedList, RangeBasedModify) {}

TEST(LinkedList, RangeBasedEndIsEnd) {}

}  // anonymous namespace
}  // namespace dawn