You've already forked linux-packaging-mono
Imported Upstream version 5.18.0.247
Former-commit-id: 2d6af2e4ed0eda5cbdc2946446ef7718456ad190
This commit is contained in:
parent
279aa8f685
commit
ce8e504569
100
external/llvm/unittests/ADT/IListNodeBaseTest.cpp
vendored
100
external/llvm/unittests/ADT/IListNodeBaseTest.cpp
vendored
@ -1,100 +0,0 @@
|
||||
//===- unittests/ADT/IListNodeBaseTest.cpp - ilist_node_base unit tests ---===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "llvm/ADT/ilist_node_base.h"
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
namespace {
|
||||
|
||||
typedef ilist_node_base<false> RawNode;
|
||||
typedef ilist_node_base<true> TrackingNode;
|
||||
|
||||
TEST(IListNodeBaseTest, DefaultConstructor) {
|
||||
RawNode A;
|
||||
EXPECT_EQ(nullptr, A.getPrev());
|
||||
EXPECT_EQ(nullptr, A.getNext());
|
||||
EXPECT_FALSE(A.isKnownSentinel());
|
||||
|
||||
TrackingNode TA;
|
||||
EXPECT_EQ(nullptr, TA.getPrev());
|
||||
EXPECT_EQ(nullptr, TA.getNext());
|
||||
EXPECT_FALSE(TA.isKnownSentinel());
|
||||
EXPECT_FALSE(TA.isSentinel());
|
||||
}
|
||||
|
||||
TEST(IListNodeBaseTest, setPrevAndNext) {
|
||||
RawNode A, B, C;
|
||||
A.setPrev(&B);
|
||||
EXPECT_EQ(&B, A.getPrev());
|
||||
EXPECT_EQ(nullptr, A.getNext());
|
||||
EXPECT_EQ(nullptr, B.getPrev());
|
||||
EXPECT_EQ(nullptr, B.getNext());
|
||||
EXPECT_EQ(nullptr, C.getPrev());
|
||||
EXPECT_EQ(nullptr, C.getNext());
|
||||
|
||||
A.setNext(&C);
|
||||
EXPECT_EQ(&B, A.getPrev());
|
||||
EXPECT_EQ(&C, A.getNext());
|
||||
EXPECT_EQ(nullptr, B.getPrev());
|
||||
EXPECT_EQ(nullptr, B.getNext());
|
||||
EXPECT_EQ(nullptr, C.getPrev());
|
||||
EXPECT_EQ(nullptr, C.getNext());
|
||||
|
||||
TrackingNode TA, TB, TC;
|
||||
TA.setPrev(&TB);
|
||||
EXPECT_EQ(&TB, TA.getPrev());
|
||||
EXPECT_EQ(nullptr, TA.getNext());
|
||||
EXPECT_EQ(nullptr, TB.getPrev());
|
||||
EXPECT_EQ(nullptr, TB.getNext());
|
||||
EXPECT_EQ(nullptr, TC.getPrev());
|
||||
EXPECT_EQ(nullptr, TC.getNext());
|
||||
|
||||
TA.setNext(&TC);
|
||||
EXPECT_EQ(&TB, TA.getPrev());
|
||||
EXPECT_EQ(&TC, TA.getNext());
|
||||
EXPECT_EQ(nullptr, TB.getPrev());
|
||||
EXPECT_EQ(nullptr, TB.getNext());
|
||||
EXPECT_EQ(nullptr, TC.getPrev());
|
||||
EXPECT_EQ(nullptr, TC.getNext());
|
||||
}
|
||||
|
||||
TEST(IListNodeBaseTest, isKnownSentinel) {
|
||||
// Without sentinel tracking.
|
||||
RawNode A, B;
|
||||
EXPECT_FALSE(A.isKnownSentinel());
|
||||
A.setPrev(&B);
|
||||
A.setNext(&B);
|
||||
EXPECT_EQ(&B, A.getPrev());
|
||||
EXPECT_EQ(&B, A.getNext());
|
||||
EXPECT_FALSE(A.isKnownSentinel());
|
||||
A.initializeSentinel();
|
||||
EXPECT_FALSE(A.isKnownSentinel());
|
||||
EXPECT_EQ(&B, A.getPrev());
|
||||
EXPECT_EQ(&B, A.getNext());
|
||||
|
||||
// With sentinel tracking.
|
||||
TrackingNode TA, TB;
|
||||
EXPECT_FALSE(TA.isKnownSentinel());
|
||||
EXPECT_FALSE(TA.isSentinel());
|
||||
TA.setPrev(&TB);
|
||||
TA.setNext(&TB);
|
||||
EXPECT_EQ(&TB, TA.getPrev());
|
||||
EXPECT_EQ(&TB, TA.getNext());
|
||||
EXPECT_FALSE(TA.isKnownSentinel());
|
||||
EXPECT_FALSE(TA.isSentinel());
|
||||
TA.initializeSentinel();
|
||||
EXPECT_TRUE(TA.isKnownSentinel());
|
||||
EXPECT_TRUE(TA.isSentinel());
|
||||
EXPECT_EQ(&TB, TA.getPrev());
|
||||
EXPECT_EQ(&TB, TA.getNext());
|
||||
}
|
||||
|
||||
} // end namespace
|
Reference in New Issue
Block a user