Changeset 2230 for trunk/test
- Timestamp:
- Jan 17, 2013, 11:19:30 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/test/unit/array.cpp
r2216 r2230 18 18 namespace lol 19 19 { 20 21 struct TrackedObj 22 { 23 static int m_ctor, m_dtor; 24 25 TrackedObj() { m_ctor++; } 26 TrackedObj(TrackedObj const &) { m_ctor++; } 27 ~TrackedObj() { m_dtor++; } 28 }; 29 30 int TrackedObj::m_ctor = 0; 31 int TrackedObj::m_dtor = 0; 20 32 21 33 LOLUNIT_FIXTURE(ArrayTest) … … 120 132 LOLUNIT_ASSERT_EQUAL(b[3], 3); 121 133 } 134 135 LOLUNIT_TEST(ElementCtorDtor) 136 { 137 /* Ensure array elements get created and destroyed the proper 138 * number of times. */ 139 TrackedObj::m_ctor = 0; 140 TrackedObj::m_dtor = 0; 141 { 142 Array<TrackedObj> a; 143 144 a.Push(TrackedObj()); 145 } 146 LOLUNIT_ASSERT_EQUAL(TrackedObj::m_ctor, TrackedObj::m_dtor); 147 148 TrackedObj::m_ctor = 0; 149 TrackedObj::m_dtor = 0; 150 { 151 Array<TrackedObj> a; 152 153 a.Resize(2); 154 a.Resize(4); 155 a.Resize(1); 156 } 157 LOLUNIT_ASSERT_EQUAL(TrackedObj::m_ctor, TrackedObj::m_dtor); 158 } 122 159 }; 123 160
Note: See TracChangeset
for help on using the changeset viewer.