| 90 | //----------------------------------------------------------------------------- |
| 91 | template <class Adapter, class C> |
| 92 | void testAdapterSequenceInt() |
| 93 | { |
| 94 | C ints; |
| 95 | |
| 96 | // Adapter<>::reserve() |
| 97 | Adapter::reserve(ints, 10); |
| 98 | |
| 99 | // Adapter<>::insert(&) |
| 100 | Adapter::insert(ints, 42); |
| 101 | EXPECT_EQ(1, ints.size()); |
| 102 | |
| 103 | // Adapter<>::insert(&&) |
| 104 | int i{43}; |
| 105 | Adapter::insert(ints, std::move(i)); |
| 106 | EXPECT_EQ(2, ints.size()); |
| 107 | |
| 108 | // Adapter<>::indexOf() / Adapter<>::contains() |
| 109 | EXPECT_EQ(1, Adapter::indexOf(ints, 43)); |
| 110 | EXPECT_TRUE(Adapter::contains(ints, 43)); |
| 111 | EXPECT_FALSE(Adapter::contains(ints, 4343)); |
| 112 | |
| 113 | // Adapter<>::append(&) |
| 114 | Adapter::append(ints, 72); |
| 115 | EXPECT_EQ(3, ints.size()); |
| 116 | |
| 117 | // Adapter<>::append(&&) |
| 118 | int i2{43}; |
| 119 | Adapter::append(ints, std::move(i2)); |
| 120 | EXPECT_EQ(4, ints.size()); // 43 already inserted |
| 121 | int i3{44}; |
| 122 | Adapter::append(ints, std::move(i3)); |
| 123 | EXPECT_EQ(5, ints.size()); |
| 124 | |
| 125 | // Adapter<>::remove() |
| 126 | Adapter::remove(ints, 0); // Remove 42 |
| 127 | EXPECT_EQ(4, ints.size()); |
| 128 | EXPECT_EQ(0, Adapter::indexOf(ints, 43)); |
| 129 | EXPECT_EQ(-1, Adapter::indexOf(ints, 4242)); |
| 130 | |
| 131 | // Adapter<>::removeAll() |
| 132 | Adapter::insert(ints, 42); |
| 133 | Adapter::insert(ints, 43); |
| 134 | Adapter::insert(ints, 42); |
| 135 | |
| 136 | // Can't have the removed item count with std::vector |
| 137 | const auto originalSize = ints.size(); |
| 138 | // Can't test removeAll, with std it _always_ return -1 |
| 139 | Adapter::removeAll(ints, 42); |
| 140 | //EXPECT_EQ(-1, Adapter::removeAll(ints, 42)); |
| 141 | EXPECT_EQ(originalSize - 2, ints.size()); |
| 142 | } |
| 143 | |
| 144 | TEST( qcmAdapter, qVectorInt ) |
| 145 | { |