Changeset 6b33e89 for tests/list
- Timestamp:
- Apr 25, 2025, 7:39:09 AM (5 months ago)
- Branches:
- master
- Children:
- 65bd3c2
- Parents:
- b195498
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
tests/list/dlist-insert-remove.cfa
rb195498 r6b33e89 59 59 do { 60 60 sout | f.adatum; 61 } while ( f`moveNext);61 } while (advance( f )); 62 62 } 63 63 … … 66 66 do { 67 67 sout | f.adatum; 68 } while ( f`movePrev);68 } while (recede( f )); 69 69 } 70 70 … … 94 94 do { 95 95 sout | f.adatum; 96 } while ( f`moveNext);96 } while (advance( f )); 97 97 } 98 98 … … 101 101 do { 102 102 sout | f.adatum; 103 } while ( f`movePrev);103 } while (recede( f )); 104 104 } 105 105 … … 127 127 do { 128 128 sout | m.anotherdatum; 129 } while ( m`moveNext);129 } while (advance( m )); 130 130 } 131 131 … … 133 133 do { 134 134 sout | m.anotherdatum; 135 } while ( m`movePrev);135 } while (recede( m )); 136 136 } 137 137 … … 423 423 dlist(fred, fred.mine) lf; 424 424 425 assert( & lf`first== 0p );426 assert( & lf`last== 0p );425 assert( &first( lf ) == 0p ); 426 assert( &last( lf ) == 0p ); 427 427 428 428 insert_first(lf, f1); 429 429 430 assert( & lf`first == &f1 );431 assert( & lf`last == &f1 );430 assert( &first( lf ) == &f1 ); 431 assert( &last( lf ) == &f1 ); 432 432 433 433 verify(validate(lf)); … … 440 440 printYourFreddies(f1, f2, 0); // 3.14; 3.14; 0.5; 0.5 (unmodified) 441 441 442 assert( & lf`first == &f1 );443 assert( & lf`last == &f2 );442 assert( &first( lf ) == &f1 ); 443 assert( &last( lf ) == &f2 ); 444 444 } 445 445 … … 451 451 dlist(fred, fred.yours) lf; 452 452 453 assert( & lf`first== 0p );454 assert( & lf`last== 0p );453 assert( &first( lf ) == 0p ); 454 assert( &last( lf ) == 0p ); 455 455 456 456 insert_first(lf, f1); 457 457 458 assert( & lf`first== & f1 );459 assert( & lf`last== & f1 );458 assert( &first( lf ) == & f1 ); 459 assert( &last( lf ) == & f1 ); 460 460 461 461 verify(validate(lf)); … … 468 468 printYourFreddies(f1, f2, 0); // 3.14, 0.5; 3.14; 0.5; 0.5, 3.14 (modified) 469 469 470 assert( & lf`first== & f1 );471 assert( & lf`last== & f2 );470 assert( &first( lf ) == & f1 ); 471 assert( &last( lf ) == & f2 ); 472 472 } 473 473 … … 479 479 dlist(mary) lm; 480 480 481 assert( & lm`first== 0p );482 assert( & lm`last== 0p );481 assert( &first( lm ) == 0p ); 482 assert( &last( lm ) == 0p ); 483 483 484 484 insert_first(lm, m1); 485 485 486 assert( & lm`first== & m1 );487 assert( & lm`last== & m1 );486 assert( &first( lm ) == & m1 ); 487 assert( &last( lm ) == & m1 ); 488 488 489 489 verify(validate(lm)); … … 495 495 printMariatheotokos(m1, m2, 0); // 3.14, 0.5; 3.14; 0.5; 0.5, 3.14 (modified) 496 496 497 assert( & lm`first== & m1 );498 assert( & lm`last== & m2 );497 assert( &first( lm ) == & m1 ); 498 assert( &last( lm ) == & m2 ); 499 499 } 500 500 … … 516 516 dlist(fred, fred.mine) lf; 517 517 518 assert( & lf`first== 0p );519 assert( & lf`last== 0p );518 assert( &first( lf ) == 0p ); 519 assert( &last( lf ) == 0p ); 520 520 521 521 insert_last(lf, f2); 522 522 523 assert( & lf`first== & f2 );524 assert( & lf`last== & f2 );523 assert( &first( lf ) == & f2 ); 524 assert( &last( lf ) == & f2 ); 525 525 526 526 verify(validate(lf)); … … 533 533 printYourFreddies(f1, f2, 0); // 3.14; 3.14; 0.5; 0.5 (unmodified) 534 534 535 assert( & lf`first== & f1 );536 assert( & lf`last== & f2 );535 assert( &first( lf ) == & f1 ); 536 assert( &last( lf ) == & f2 ); 537 537 } 538 538 … … 544 544 dlist(fred, fred.yours) lf; 545 545 546 assert( & lf`first== 0p );547 assert( & lf`last== 0p );546 assert( &first( lf ) == 0p ); 547 assert( &last( lf ) == 0p ); 548 548 549 549 insert_last(lf, f2); 550 550 551 assert( & lf`first== & f2 );552 assert( & lf`last== & f2 );551 assert( &first( lf ) == & f2 ); 552 assert( &last( lf ) == & f2 ); 553 553 554 554 verify(validate(lf)); … … 561 561 printYourFreddies(f1, f2, 0); // 3.14, 0.5; 3.14; 0.5; 0.5, 3.14 (modified) 562 562 563 assert( & lf`first== & f1 );564 assert( & lf`last== & f2 );563 assert( &first( lf ) == & f1 ); 564 assert( &last( lf ) == & f2 ); 565 565 } 566 566 … … 572 572 dlist(mary) lm; 573 573 574 assert( & lm`first== 0p );575 assert( & lm`last== 0p );574 assert( &first( lm ) == 0p ); 575 assert( &last( lm ) == 0p ); 576 576 577 577 insert_last(lm, m2); 578 578 579 assert( & lm`first== & m2 );580 assert( & lm`last== & m2 );579 assert( &first( lm ) == & m2 ); 580 assert( &last( lm ) == & m2 ); 581 581 582 582 verify(validate(lm)); … … 588 588 printMariatheotokos(m1, m2, 0); // 3.14, 0.5; 3.14; 0.5; 0.5, 3.14 (modified) 589 589 590 assert( & lm`first== & m1 );591 assert( & lm`last== & m2 );590 assert( &first( lm ) == & m1 ); 591 assert( &last( lm ) == & m2 ); 592 592 } 593 593 #if 0 … … 891 891 insert_last(fly, f3); 892 892 893 printMyFreddies(f lm`first, flm`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7894 printYourFreddies(f ly`first, fly`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7893 printMyFreddies(first( flm ), last( flm ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 894 printYourFreddies(first( fly ), last( fly ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 895 895 896 896 verify(validate(fly)); … … 902 902 verify(validate(flm)); 903 903 904 printMyFreddies(f lm`first, flm`last, 0); // 2.7, 3.7; 2.7; 3.7; 3.7, 2.7 (modified)905 printYourFreddies(f ly`first, fly`last, 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified)904 printMyFreddies(first( flm ), last( flm ), 0); // 2.7, 3.7; 2.7; 3.7; 3.7, 2.7 (modified) 905 printYourFreddies(first( fly ), last( fly ), 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified) 906 906 907 907 // observe f1 is now solo in mine; in yours, it was just traversed … … 930 930 insert_last(fly, f3); 931 931 932 printMyFreddies(f lm`first, flm`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7933 printYourFreddies(f ly`first, fly`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7932 printMyFreddies(first( flm ), last( flm ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 933 printYourFreddies(first( fly ), last( fly ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 934 934 935 935 verify(validate(fly)); … … 941 941 verify(validate(flm)); 942 942 943 printMyFreddies(f lm`first, flm`last, 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified)944 printYourFreddies(f ly`first, fly`last, 0); // 2.7, 3.7; 2.7; 3.7; 3.7, 2.7 (modified)943 printMyFreddies(first( flm ), last( flm ), 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified) 944 printYourFreddies(first( fly ), last( fly ), 0); // 2.7, 3.7; 2.7; 3.7; 3.7, 2.7 (modified) 945 945 946 946 // observe f1 is now solo in yours; in mine, it was just traversed … … 963 963 insert_last(ml, m3); 964 964 965 printMariatheotokos( ml`first, ml`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7965 printMariatheotokos(first( ml ), last( ml ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 966 966 967 967 verify(validate(ml)); … … 971 971 verify(validate(ml)); 972 972 973 printMariatheotokos( ml`first, ml`last, 0); // 2.7, 3.7; 2.7; 3.7; 3.7, 2.7 (modified)973 printMariatheotokos(first( ml ), last( ml ), 0); // 2.7, 3.7; 2.7; 3.7; 3.7, 2.7 (modified) 974 974 975 975 // observe m1 is now solo … … 1007 1007 insert_last(fly, f3); 1008 1008 1009 printMyFreddies(f lm`first, flm`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71010 printYourFreddies(f ly`first, fly`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71009 printMyFreddies(first( flm ), last( flm ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 1010 printYourFreddies(first( fly ), last( fly ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 1011 1011 1012 1012 verify(validate(fly)); … … 1018 1018 verify(validate(flm)); 1019 1019 1020 printMyFreddies(f lm`first, flm`last, 0); // 1.7, 2.7; 1.7; 2.7; 2.7, 1.7 (modified)1021 printYourFreddies(f ly`first, fly`last, 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified)1020 printMyFreddies(first( flm ), last( flm ), 0); // 1.7, 2.7; 1.7; 2.7; 2.7, 1.7 (modified) 1021 printYourFreddies(first( fly ), last( fly ), 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified) 1022 1022 1023 1023 // observe f3 is now solo in mine; in yours, it was just traversed … … 1045 1045 insert_last(fly, f3); 1046 1046 1047 printMyFreddies(f lm`first, flm`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71048 printYourFreddies(f ly`first, fly`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71047 printMyFreddies(first( flm ), last( flm ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 1048 printYourFreddies(first( fly ), last( fly ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 1049 1049 1050 1050 verify(validate(fly)); … … 1056 1056 verify(validate(flm)); 1057 1057 1058 printMyFreddies(f lm`first, flm`last, 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified)1059 printYourFreddies(f ly`first, fly`last, 0); // 1.7, 2.7; 1.7; 2.7; 2.7, 1.7 (modified)1058 printMyFreddies(first( flm ), last( flm ), 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified) 1059 printYourFreddies(first( fly ), last( fly ), 0); // 1.7, 2.7; 1.7; 2.7; 2.7, 1.7 (modified) 1060 1060 1061 1061 // observe f3 is now solo in yours; in mine, it was just traversed … … 1078 1078 insert_last(ml, m3); 1079 1079 1080 printMariatheotokos( ml`first, ml`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71080 printMariatheotokos(first( ml ), last( ml ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 1081 1081 1082 1082 verify(validate(ml)); … … 1086 1086 verify(validate(ml)); 1087 1087 1088 printMariatheotokos( ml`first, ml`last, 0); // 1.7, 2.7; 1.7; 2.7; 2.7, 1.7 (modified)1088 printMariatheotokos(first( ml ), last( ml ), 0); // 1.7, 2.7; 1.7; 2.7; 2.7, 1.7 (modified) 1089 1089 1090 1090 // observe m3 is now solo … … 1116 1116 insert_last(fly, f); 1117 1117 1118 printMyFreddies(f lm`first, flm`last, 1); // 0.7; 0.7; 0.7; 0.71119 printYourFreddies(f ly`first, fly`last, 1); // 0.7; 0.7; 0.7; 0.71118 printMyFreddies(first( flm ), last( flm ), 1); // 0.7; 0.7; 0.7; 0.7 1119 printYourFreddies(first( fly ), last( fly ), 1); // 0.7; 0.7; 0.7; 0.7 1120 1120 1121 1121 verify(validate(fly)); … … 1127 1127 verify(validate(flm)); 1128 1128 1129 assert( & flm`first== 0p );1130 assert( & flm`last== 0p );1131 1132 printYourFreddies(f ly`first, fly`last, 0); // 0.7; 0.7; 0.7; 0.7 (unmodified)1129 assert( &first( flm ) == 0p ); 1130 assert( &last( flm ) == 0p ); 1131 1132 printYourFreddies(first( fly ), last( fly ), 0); // 0.7; 0.7; 0.7; 0.7 (unmodified) 1133 1133 1134 1134 // observe f is solo in mine (now unlisted); in yours, it was just traversed … … 1142 1142 verify(validate(fly)); 1143 1143 verify(validate(flm)); 1144 printMyFreddies(f lm`first, flm`last, 0); // 0.7; 0.7; 0.7; 0.71144 printMyFreddies(first( flm ), last( flm ), 0); // 0.7; 0.7; 0.7; 0.7 1145 1145 } 1146 1146 … … 1155 1155 insert_last(fly, f); 1156 1156 1157 printMyFreddies(f lm`first, flm`last, 1); // 0.7; 0.7; 0.7; 0.71158 printYourFreddies(f ly`first, fly`last, 1); // 0.7; 0.7; 0.7; 0.71157 printMyFreddies(first( flm ), last( flm ), 1); // 0.7; 0.7; 0.7; 0.7 1158 printYourFreddies(first( fly ), last( fly ), 1); // 0.7; 0.7; 0.7; 0.7 1159 1159 1160 1160 verify(validate(fly)); … … 1166 1166 verify(validate(flm)); 1167 1167 1168 assert( & fly`first== 0p );1169 assert( & fly`last== 0p );1170 1171 printYourFreddies(f lm`first, flm`last, 0); // 0.7; 0.7; 0.7; 0.7 (unmodified)1168 assert( &first( fly ) == 0p ); 1169 assert( &last( fly ) == 0p ); 1170 1171 printYourFreddies(first( flm ), last( flm ), 0); // 0.7; 0.7; 0.7; 0.7 (unmodified) 1172 1172 1173 1173 // observe f is solo in yours (now unlisted); in mine, it was just traversed … … 1181 1181 verify(validate(fly)); 1182 1182 verify(validate(flm)); 1183 printYourFreddies(f ly`first, fly`last, 0); // 0.7; 0.7; 0.7; 0.71183 printYourFreddies(first( fly ), last( fly ), 0); // 0.7; 0.7; 0.7; 0.7 1184 1184 } 1185 1185 … … 1191 1191 insert_last(ml, m); 1192 1192 1193 printMariatheotokos( ml`first, ml`last, 1); // 0.7; 0.7; 0.7; 0.71193 printMariatheotokos(first( ml ), last( ml ), 1); // 0.7; 0.7; 0.7; 0.7 1194 1194 1195 1195 verify(validate(ml)); … … 1199 1199 verify(validate(ml)); 1200 1200 1201 assert( & ml`first== 0p );1202 assert( & ml`last== 0p );1201 assert( &first( ml ) == 0p ); 1202 assert( &last( ml ) == 0p ); 1203 1203 1204 1204 // observe f is solo in mine (now unlisted); in yours, it was just traversed … … 1211 1211 insert_last(ml, m); 1212 1212 verify(validate(ml)); 1213 printMariatheotokos( ml`first, ml`last, 0); // 0.7; 0.7; 0.7; 0.71213 printMariatheotokos(first( ml ), last( ml ), 0); // 0.7; 0.7; 0.7; 0.7 1214 1214 } 1215 1215 … … 1242 1242 insert_last(fly, f3); 1243 1243 1244 printMyFreddies(f lm`first, flm`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71245 printYourFreddies(f ly`first, fly`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71246 1247 verify(validate(fly)); 1248 verify(validate(flm)); 1249 1250 fred & popped = try_pop_front(flm);1251 1252 verify(validate(fly)); 1253 verify(validate(flm)); 1254 1255 printMyFreddies(f lm`first, flm`last, 0); // 2.7, 3.7; 2.7; 3.7; 3.7, 2.7 (modified)1256 printYourFreddies(f ly`first, fly`last, 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified)1244 printMyFreddies(first( flm ), last( flm ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 1245 printYourFreddies(first( fly ), last( fly ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 1246 1247 verify(validate(fly)); 1248 verify(validate(flm)); 1249 1250 fred & popped = remove_first(flm); 1251 1252 verify(validate(fly)); 1253 verify(validate(flm)); 1254 1255 printMyFreddies(first( flm ), last( flm ), 0); // 2.7, 3.7; 2.7; 3.7; 3.7, 2.7 (modified) 1256 printYourFreddies(first( fly ), last( fly ), 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified) 1257 1257 1258 1258 // observe f1 is now solo in mine; in yours, it was just traversed … … 1278 1278 insert_last(fly, f3); 1279 1279 1280 printMyFreddies(f lm`first, flm`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71281 printYourFreddies(f ly`first, fly`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71282 1283 verify(validate(fly)); 1284 verify(validate(flm)); 1285 1286 fred & popped = try_pop_front(fly);1287 1288 verify(validate(fly)); 1289 verify(validate(flm)); 1290 1291 printMyFreddies(f lm`first, flm`last, 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified)1292 printYourFreddies(f ly`first, fly`last, 0); // 2.7, 3.7; 2.7; 3.7; 3.7, 2.7 (modified)1280 printMyFreddies(first( flm ), last( flm ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 1281 printYourFreddies(first( fly ), last( fly ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 1282 1283 verify(validate(fly)); 1284 verify(validate(flm)); 1285 1286 fred & popped = remove_first(fly); 1287 1288 verify(validate(fly)); 1289 verify(validate(flm)); 1290 1291 printMyFreddies(first( flm ), last( flm ), 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified) 1292 printYourFreddies(first( fly ), last( fly ), 0); // 2.7, 3.7; 2.7; 3.7; 3.7, 2.7 (modified) 1293 1293 1294 1294 // observe f1 is now solo in yours; in mine, it was just traversed … … 1309 1309 insert_last(ml, m3); 1310 1310 1311 printMariatheotokos( ml`first, ml`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71311 printMariatheotokos(first( ml ), last( ml ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 1312 1312 1313 1313 verify(validate(ml)); 1314 1314 1315 mary & popped = try_pop_front(ml);1315 mary & popped = remove_first(ml); 1316 1316 1317 1317 verify(validate(ml)); 1318 1318 1319 printMariatheotokos( ml`first, ml`last, 0); // 2.7, 3.7; 2.7; 3.7; 3.7, 2.7 (modified)1319 printMariatheotokos(first( ml ), last( ml ), 0); // 2.7, 3.7; 2.7; 3.7; 3.7, 2.7 (modified) 1320 1320 1321 1321 // observe m1 is now solo … … 1341 1341 insert_last(fly, f3); 1342 1342 1343 printMyFreddies(f lm`first, flm`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71344 printYourFreddies(f ly`first, fly`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71345 1346 verify(validate(fly)); 1347 verify(validate(flm)); 1348 1349 fred & popped = try_pop_back(flm);1350 1351 verify(validate(fly)); 1352 verify(validate(flm)); 1353 1354 printMyFreddies(f lm`first, flm`last, 0); // 1.7, 2.7; 1.7; 2.7; 2.7, 1.7 (modified)1355 printYourFreddies(f ly`first, fly`last, 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified)1343 printMyFreddies(first( flm ), last( flm ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 1344 printYourFreddies(first( fly ), last( fly ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 1345 1346 verify(validate(fly)); 1347 verify(validate(flm)); 1348 1349 fred & popped = remove_last(flm); 1350 1351 verify(validate(fly)); 1352 verify(validate(flm)); 1353 1354 printMyFreddies(first( flm ), last( flm ), 0); // 1.7, 2.7; 1.7; 2.7; 2.7, 1.7 (modified) 1355 printYourFreddies(first( fly ), last( fly ), 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified) 1356 1356 1357 1357 // observe f3 is now solo in mine; in yours, it was just traversed … … 1377 1377 insert_last(fly, f3); 1378 1378 1379 printMyFreddies(f lm`first, flm`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71380 printYourFreddies(f ly`first, fly`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71381 1382 verify(validate(fly)); 1383 verify(validate(flm)); 1384 1385 fred & popped = try_pop_back(fly);1386 1387 verify(validate(fly)); 1388 verify(validate(flm)); 1389 1390 printMyFreddies(f lm`first, flm`last, 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified)1391 printYourFreddies(f ly`first, fly`last, 0); // 1.7, 2.7; 1.7; 2.7; 2.7, 1.7 (modified)1379 printMyFreddies(first( flm ), last( flm ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 1380 printYourFreddies(first( fly ), last( fly ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 1381 1382 verify(validate(fly)); 1383 verify(validate(flm)); 1384 1385 fred & popped = remove_last(fly); 1386 1387 verify(validate(fly)); 1388 verify(validate(flm)); 1389 1390 printMyFreddies(first( flm ), last( flm ), 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified) 1391 printYourFreddies(first( fly ), last( fly ), 0); // 1.7, 2.7; 1.7; 2.7; 2.7, 1.7 (modified) 1392 1392 1393 1393 // observe f3 is now solo in yours; in mine, it was just traversed … … 1408 1408 insert_last(ml, m3); 1409 1409 1410 printMariatheotokos( ml`first, ml`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71410 printMariatheotokos(first( ml ), last( ml ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 1411 1411 1412 1412 verify(validate(ml)); 1413 1413 1414 mary & popped = try_pop_back(ml);1414 mary & popped = remove_last(ml); 1415 1415 1416 1416 verify(validate(ml)); 1417 1417 1418 printMariatheotokos( ml`first, ml`last, 0); // 1.7, 1.7; 1.7; 2.7; 2.7, 1.7 (modified)1418 printMariatheotokos(first( ml ), last( ml ), 0); // 1.7, 1.7; 1.7; 2.7; 2.7, 1.7 (modified) 1419 1419 1420 1420 // observe m1 is now solo … … 1428 1428 // Section 4g 1429 1429 // 1430 // Test cases of `isEmpty, `hasPrev, `hasNext,1431 // try_pop_front, try_pop_back, modifications via `elems1430 // Test cases of isEmpty, isFirst, isLast, 1431 // remove_first, remove_last, modifications via iter 1432 1432 // 1433 1433 // Example of call-side user code … … 1441 1441 mary m3 = {3.7}; 1442 1442 1443 dlist(mary) ml; assert( ml`isEmpty);1444 1445 insert_last(ml, m1); assert(! ml`isEmpty);1446 insert_last(ml, m2); assert(! ml`isEmpty);1447 insert_last(ml, m3); assert(! ml`isEmpty);1448 1449 mary & m1prev = m1`prev;1450 mary & m1next = m1`next;1451 mary & m2prev = m2`prev;1452 mary & m2next = m2`next;1453 mary & m3prev = m3`prev;1454 mary & m3next = m3`next;1455 1456 assert (&m1prev == 0p);1457 assert (&m1next == &m2);1458 assert (&m2prev == &m1);1459 assert (&m2next == &m3);1460 assert (&m3prev == &m2);1461 assert (&m3next == 0p);1462 1463 assert( !m1`hasPrev);1464 assert( m1`hasNext);1465 assert( m2`hasPrev);1466 assert( m2`hasNext);1467 assert( m3`hasPrev);1468 assert( !m3`hasNext);1443 dlist(mary) ml; assert( isEmpty( ml )); 1444 1445 insert_last(ml, m1); assert(!isEmpty( ml )); 1446 insert_last(ml, m2); assert(!isEmpty( ml )); 1447 insert_last(ml, m3); assert(!isEmpty( ml )); 1448 1449 mary & m1prev = prev( m1 ); 1450 mary & m1next = next( m1 ); 1451 mary & m2prev = prev( m2 ); 1452 mary & m2next = next( m2 ); 1453 mary & m3prev = prev( m3 ); 1454 mary & m3next = next( m3 ); 1455 1456 assert( &m1prev == 0p ); 1457 assert( &m1next == &m2 ); 1458 assert( &m2prev == &m1 ); 1459 assert( &m2next == &m3 ); 1460 assert( &m3prev == &m2 ); 1461 assert( &m3next == 0p ); 1462 1463 assert( ! isFirst( m1 ) ); 1464 assert( isLast( m1 ) ); 1465 assert( isFirst( m2 ) ); 1466 assert( isLast( m2 ) ); 1467 assert( isFirst( m3 ) ); 1468 assert( ! isLast( m3 ) ); 1469 1469 1470 1470 printf("accessor_cases done\n"); … … 1486 1486 // queue, back to front 1487 1487 1488 assert( ml`isEmpty);1488 assert( isEmpty( ml )); 1489 1489 1490 1490 insert_last(ml, m1); … … 1492 1492 insert_last(ml, m3); 1493 1493 1494 &m1r = & try_pop_front(ml); assert(!ml`isEmpty);1495 &m2r = & try_pop_front(ml); assert(!ml`isEmpty);1496 &m3r = & try_pop_front(ml); assert( ml`isEmpty);1497 &mxr = & try_pop_front(ml); assert( ml`isEmpty);1494 &m1r = & remove_first(ml); assert(!isEmpty( ml )); 1495 &m2r = & remove_first(ml); assert(!isEmpty( ml )); 1496 &m3r = & remove_first(ml); assert( isEmpty( ml )); 1497 &mxr = & remove_first(ml); assert( isEmpty( ml )); 1498 1498 1499 1499 assert( &m1r == &m1 ); … … 1508 1508 // queue, front to back 1509 1509 1510 assert( ml`isEmpty);1510 assert( isEmpty( ml )); 1511 1511 1512 1512 insert_first(ml, m1); … … 1514 1514 insert_first(ml, m3); 1515 1515 1516 &m1r = & try_pop_back(ml); assert(!ml`isEmpty);1517 &m2r = & try_pop_back(ml); assert(!ml`isEmpty);1518 &m3r = & try_pop_back(ml); assert( ml`isEmpty);1519 &mxr = & try_pop_back(ml); assert( ml`isEmpty);1516 &m1r = & remove_last(ml); assert(!isEmpty( ml )); 1517 &m2r = & remove_last(ml); assert(!isEmpty( ml )); 1518 &m3r = & remove_last(ml); assert( isEmpty( ml )); 1519 &mxr = & remove_last(ml); assert( isEmpty( ml )); 1520 1520 1521 1521 assert( &m1r == &m1 ); … … 1530 1530 // stack at front 1531 1531 1532 assert( ml`isEmpty);1532 assert( isEmpty( ml )); 1533 1533 1534 1534 insert_first(ml, m1); … … 1536 1536 insert_first(ml, m3); 1537 1537 1538 &m3r = & try_pop_front(ml); assert(!ml`isEmpty);1539 &m2r = & try_pop_front(ml); assert(!ml`isEmpty);1540 &m1r = & try_pop_front(ml); assert( ml`isEmpty);1541 &mxr = & try_pop_front(ml); assert( ml`isEmpty);1538 &m3r = & remove_first(ml); assert(!isEmpty( ml )); 1539 &m2r = & remove_first(ml); assert(!isEmpty( ml )); 1540 &m1r = & remove_first(ml); assert( isEmpty( ml )); 1541 &mxr = & remove_first(ml); assert( isEmpty( ml )); 1542 1542 1543 1543 assert( &m1r == &m1 ); … … 1552 1552 // stack at back 1553 1553 1554 assert( ml`isEmpty);1554 assert( isEmpty( ml )); 1555 1555 1556 1556 insert_last(ml, m1); … … 1558 1558 insert_last(ml, m3); 1559 1559 1560 &m3r = & try_pop_back(ml); assert(!ml`isEmpty);1561 &m2r = & try_pop_back(ml); assert(!ml`isEmpty);1562 &m1r = & try_pop_back(ml); assert( ml`isEmpty);1563 &mxr = & try_pop_back(ml); assert( ml`isEmpty);1560 &m3r = & remove_last(ml); assert(!isEmpty( ml )); 1561 &m2r = & remove_last(ml); assert(!isEmpty( ml )); 1562 &m1r = & remove_last(ml); assert( isEmpty( ml )); 1563 &mxr = & remove_last(ml); assert( isEmpty( ml )); 1564 1564 1565 1565 assert( &m1r == &m1 ); … … 1580 1580 1581 1581 dlist(mary) ml; 1582 mary & mlorigin = ml`elems;1582 mary & mlorigin = iter( ml ); 1583 1583 1584 1584 // insert before the origin 1585 1585 1586 insert_before( ml`elems, m1 );1587 assert( ! ml`isEmpty);1588 1589 mary & mlfirst = ml`first;1590 mary & mllast = ml`last;1586 insert_before( iter( ml ), m1 ); 1587 assert( ! isEmpty( ml ) ); 1588 1589 mary & mlfirst = first( ml ); 1590 mary & mllast = last( ml ); 1591 1591 1592 1592 assert( &m1 == & mlfirst ); … … 1595 1595 // moveNext after last goes back to origin, &vv 1596 1596 1597 bool canMoveNext = mllast`moveNext;1598 bool canMovePrev = mlfirst`movePrev;1597 bool canMoveNext = advance( mllast ); 1598 bool canMovePrev = recede( mlfirst ); 1599 1599 1600 1600 assert( ! canMoveNext ); … … 1609 1609 void test__isListed_cases__mary() { 1610 1610 1611 mary m1 = {1.7}; assert( ! m1`isListed);1612 mary m2 = {2.7}; assert( ! m2`isListed);1613 mary m3 = {3.7}; assert( ! m3`isListed);1611 mary m1 = {1.7}; assert( ! isListed( m1 ) ); 1612 mary m2 = {2.7}; assert( ! isListed( m2 ) ); 1613 mary m3 = {3.7}; assert( ! isListed( m3 ) ); 1614 1614 1615 1615 dlist(mary) ml; 1616 1616 1617 insert_last(ml, m1); assert( m1`isListed); assert(! m2`isListed);1618 insert_last(ml, m2); assert( m2`isListed); assert(! m3`isListed);1619 insert_last(ml, m3); assert( m3`isListed);1620 1621 remove( m1 ); assert( ! m1`isListed); assert( m2`isListed);1622 remove( m2 ); assert( ! m2`isListed); assert( m3`isListed);1623 remove( m3 ); assert( ! m3`isListed);1617 insert_last(ml, m1); assert( isListed( m1 ) ); assert(! isListed( m2 ) ); 1618 insert_last(ml, m2); assert( isListed( m2 ) ); assert(! isListed( m3 ) ); 1619 insert_last(ml, m3); assert( isListed( m3 ) ); 1620 1621 remove( m1 ); assert( ! isListed( m1 ) ); assert( isListed( m2 ) ); 1622 remove( m2 ); assert( ! isListed( m2 ) ); assert( isListed( m3 ) ); 1623 remove( m3 ); assert( ! isListed( m3 ) ); 1624 1624 1625 1625 printf("isListed cases done\n");
Note:
See TracChangeset
for help on using the changeset viewer.