Changeset 7452b155 in mainline for uspace/lib/cpp/src
- Timestamp:
- 2018-07-05T21:41:24Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 91ac0bb
- Parents:
- c300bb5
- git-author:
- Dzejrou <dzejrou@…> (2018-05-17 16:51:33)
- git-committer:
- Dzejrou <dzejrou@…> (2018-07-05 21:41:24)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/cpp/src/__bits/test/list.cpp
rc300bb5 r7452b155 237 237 test_eq("clear empty", l1.empty(), true); 238 238 test_eq("clear size", l1.size(), 0U); 239 240 std::list<int> l2{1, 2, 3, 4, 5}; 241 std::list<int> l3{10, 20, 30, 40, 50}; 242 243 auto check6 = {1, 2, 10, 20, 30, 40, 50, 3, 4, 5}; 244 auto check7 = {1, 2, 10, 20, 30, 40, 50}; 245 auto check8 = {3, 4, 5}; 246 247 auto it6 = l2.begin(); 248 std::advance(it6, 2); 249 250 l2.splice(it6, l3); 251 test_eq( 252 "splice pt1", 253 check6.begin(), check6.end(), 254 l2.begin(), l2.end() 255 ); 256 test_eq("splice pt2", l3.empty(), true); 257 258 l3.splice(l3.begin(), l2, it6, l2.end()); 259 test_eq( 260 "splice pt3", 261 check7.begin(), check7.end(), 262 l2.begin(), l2.end() 263 ); 264 test_eq( 265 "splice pt4", 266 check8.begin(), check8.end(), 267 l3.begin(), l3.end() 268 ); 269 test_eq("splice size pt1", l2.size(), 7U); 270 test_eq("splice size pt2", l3.size(), 3U); 271 272 auto check9 = {1, -1, 2, -2, 3, -3, 4, -4}; 273 auto check10 = {1, 2, 3, 4}; 274 std::list<int> l4{1, -1, 2, 5, -2, 5, 3, -3, 5, 4, -4}; 275 276 l4.remove(5); 277 test_eq( 278 "remove", 279 check9.begin(), check9.end(), 280 l4.begin(), l4.end() 281 ); 282 test_eq("remove size", l4.size(), 8U); 283 284 l4.remove_if([](auto x){ return x < 0; }); 285 test_eq( 286 "remove_if", 287 check10.begin(), check10.end(), 288 l4.begin(), l4.end() 289 ); 290 test_eq("remove_if size", l4.size(), 4U); 291 292 auto check11 = {1, 2, 3, 2, 4, 5}; 293 std::list<int> l5{1, 1, 2, 3, 3, 2, 2, 4, 5, 5}; 294 295 l5.unique(); 296 test_eq( 297 "unique", 298 check11.begin(), check11.end(), 299 l5.begin(), l5.end() 300 ); 301 test_eq("unique size", l5.size(), 6U); 302 303 auto check12 = {1, 3, 3, 5, 7, 9, 9}; 304 std::list<int> l6{1, 3, 3, 4, 4, 5, 6, 6, 6, 7, 8, 9, 9}; 305 306 l6.unique([](auto lhs, auto rhs){ return lhs == rhs + 1; }); 307 test_eq( 308 "unique predicate", 309 check12.begin(), check12.end(), 310 l6.begin(), l6.end() 311 ); 312 test_eq("unique predicate size", l6.size(), 7U); 239 313 } 240 314 }
Note:
See TracChangeset
for help on using the changeset viewer.