MCPcopy Create free account
hub / github.com/cneben/QuickQanava / testAssociativeSequenceInt

Function testAssociativeSequenceInt

tests/containers_test.cpp:163–212  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

161
162template <class Adapter, class C>
163void testAssociativeSequenceInt()
164{
165 C ints;
166
167 // Adapter<>::reserve()
168 Adapter::reserve(ints, 10);
169
170 // Adapter<>::insert(&)
171 Adapter::insert(ints, 42);
172 EXPECT_EQ(1, ints.size());
173
174 // Adapter<>::insert(&&)
175 int i{43};
176 Adapter::insert(ints, std::move(i));
177 EXPECT_EQ(2, ints.size());
178
179 // Adapter<>::indexOf() / Adapter<>::contains()
180 // Testing indexOf() has no sense with associative containers (QSet is an hashtable)
181 EXPECT_NE(Adapter::indexOf(ints, 42), Adapter::indexOf(ints, 43));
182 EXPECT_EQ(-1, Adapter::indexOf(ints, 4242));
183 EXPECT_TRUE(Adapter::contains(ints, 42));
184 EXPECT_FALSE(Adapter::contains(ints, 4242));
185
186 // Adapter<>::append(&)
187 Adapter::append(ints, 72);
188 EXPECT_EQ(3, ints.size());
189
190 // Adapter<>::append(&&)
191 int i2{43};
192 Adapter::append(ints, std::move(i2));
193 EXPECT_EQ(3, ints.size()); // 43 already inserted
194 int i3{44};
195 Adapter::append(ints, std::move(i3));
196 EXPECT_EQ(4, ints.size());
197
198 // Adapter<>::remove()
199 Adapter::remove(ints, 0); // Remove "a value"!
200 EXPECT_EQ(3, ints.size());
201
202 // Adapter<>::removeAll()
203 Adapter::insert(ints, 42);
204 Adapter::insert(ints, 43);
205 Adapter::insert(ints, 42);
206
207 // Can't have the removed item count with std::vector
208 const auto originalSize = ints.size();
209 // Can't test removeAll, with std it _always_ return -1
210 Adapter::removeAll(ints, 42);
211 EXPECT_EQ(originalSize - 1, ints.size());
212}
213
214TEST( qcmAdapter, qSetInt )
215{

Callers

nothing calls this directly

Calls 1

sizeMethod · 0.45

Tested by

no test coverage detected