#include "llvm/ADT/ImmutableList.h"
#include "gtest/gtest.h"
usingnamespacellvm;
namespace {
template <typename Fundamental> struct Wrapper : llvm::FoldingSetNode { … };
class ImmutableListTest : public testing::Test { … };
void concat(const ImmutableList<Wrapper<char>> &L, char *Buffer) { … }
TEST_F(ImmutableListTest, EmptyIntListTest) { … }
TEST_F(ImmutableListTest, OneElemIntListTest) { … }
struct Unmodifiable { … };
TEST_F(ImmutableListTest, ReferenceStoringTest) { … }
TEST_F(ImmutableListTest, CreatingIntListTest) { … }
TEST_F(ImmutableListTest, MultiElemIntListTest) { … }
template <typename Fundamental>
struct ExplicitCtorWrapper : public Wrapper<Fundamental> { … };
TEST_F(ImmutableListTest, EmplaceIntListTest) { … }
TEST_F(ImmutableListTest, CharListOrderingTest) { … }
TEST_F(ImmutableListTest, LongListOrderingTest) { … }
static_assert …;
}