35 #include <gtest/gtest.h> 51 return liveList.size();
57 LiveList::iterator liveIt;
62 liveList.push_front(
this);
63 liveIt = liveList.begin();
68 liveList.erase(liveIt);
77 TEST(RefcntTest, NullPointerCheck)
85 TEST(RefcntTest, ConstructionFromPointer)
88 Ptr constFromPointer =
new TestRC();
92 TEST(RefcntTest, ConstructionFromExistingPointer)
95 Ptr constFromPointer1 =
new TestRC();
96 Ptr constFromPointer2 = constFromPointer1;
101 TEST(RefcntTest, DestroyPointer)
104 Ptr *ptrPtr =
new Ptr(
new TestRC());
110 TEST(RefcntTest, AssignmentFromAPointerFromAPointer)
113 Ptr assignmentTarget;
114 TestRC *assignmentSourcePointer =
new TestRC();
116 assignmentTarget = assignmentSourcePointer;
118 assignmentTarget = NULL;
120 Ptr assignmentSourcePtr(
new TestRC());
122 assignmentTarget = assignmentSourcePtr;
124 assignmentSourcePtr = NULL;
126 assignmentTarget = NULL;
130 TEST(RefcntTest, AccessToClassPointers)
133 TestRC *accessTest =
new TestRC();
134 Ptr accessTestPtr = accessTest;
135 accessTest->testVal = 1;
138 accessTest->testVal = 2;
141 accessTestPtr->testVal = 3;
143 (*accessTestPtr).testVal = 4;
145 accessTestPtr = NULL;
150 TEST(RefcntTest, BoolAndLogicalNotOperatorOverloads)
153 Ptr boolTest =
new TestRC();
162 TEST(RefcntTest, EqualityOperators)
165 TestRC *equalTestA =
new TestRC();
166 Ptr equalTestAPtr = equalTestA;
167 Ptr equalTestAPtr2 = equalTestA;
168 TestRC *equalTestB =
new TestRC();
169 Ptr equalTestBPtr = equalTestB;
Overload hash function for BasicBlockRange type.
If you want a reference counting pointer to a mutable object, create it like this: ...
#define EXPECT_TRUE(expr)
A macro which verifies that expr evaluates to true.
Classes for managing reference counted objects.
TEST(RefcntTest, NullPointerCheck)
Derive from RefCounted if you want to enable reference counting of this class.
#define EXPECT_FALSE(expr)
A macro which verifies that expr evaluates to false.
#define EXPECT_EQ(lhs, rhs)
A macro which verifies that lhs and rhs are equal to each other.