#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> { … };
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) { … }
}
}