- File:
-
- 1 edited
-
tests/list/dlist-insert-remove.cfa (modified) (58 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tests/list/dlist-insert-remove.cfa
r6b33e89 r55b060d 59 59 do { 60 60 sout | f.adatum; 61 } while ( advance( f ));61 } while (f`moveNext); 62 62 } 63 63 … … 66 66 do { 67 67 sout | f.adatum; 68 } while ( recede( f ));68 } while (f`movePrev); 69 69 } 70 70 … … 94 94 do { 95 95 sout | f.adatum; 96 } while ( advance( f ));96 } while (f`moveNext); 97 97 } 98 98 … … 101 101 do { 102 102 sout | f.adatum; 103 } while ( recede( f ));103 } while (f`movePrev); 104 104 } 105 105 … … 127 127 do { 128 128 sout | m.anotherdatum; 129 } while ( advance( m ));129 } while (m`moveNext); 130 130 } 131 131 … … 133 133 do { 134 134 sout | m.anotherdatum; 135 } while ( recede( m ));135 } while (m`movePrev); 136 136 } 137 137 … … 423 423 dlist(fred, fred.mine) lf; 424 424 425 assert( & first( lf )== 0p );426 assert( & last( lf )== 0p );425 assert( & lf`first == 0p ); 426 assert( & lf`last == 0p ); 427 427 428 428 insert_first(lf, f1); 429 429 430 assert( & first( lf ) == &f1 );431 assert( & last( lf ) == &f1 );430 assert( & lf`first == & f1 ); 431 assert( & lf`last == & 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( & first( lf ) == &f1 );443 assert( & last( lf ) == &f2 );442 assert( & lf`first == & f1 ); 443 assert( & lf`last == & f2 ); 444 444 } 445 445 … … 451 451 dlist(fred, fred.yours) lf; 452 452 453 assert( & first( lf )== 0p );454 assert( & last( lf )== 0p );453 assert( & lf`first == 0p ); 454 assert( & lf`last == 0p ); 455 455 456 456 insert_first(lf, f1); 457 457 458 assert( & first( lf )== & f1 );459 assert( & last( lf )== & f1 );458 assert( & lf`first == & f1 ); 459 assert( & lf`last == & 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( & first( lf )== & f1 );471 assert( & last( lf )== & f2 );470 assert( & lf`first == & f1 ); 471 assert( & lf`last == & f2 ); 472 472 } 473 473 … … 479 479 dlist(mary) lm; 480 480 481 assert( & first( lm )== 0p );482 assert( & last( lm )== 0p );481 assert( & lm`first == 0p ); 482 assert( & lm`last == 0p ); 483 483 484 484 insert_first(lm, m1); 485 485 486 assert( & first( lm )== & m1 );487 assert( & last( lm )== & m1 );486 assert( & lm`first == & m1 ); 487 assert( & lm`last == & 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( & first( lm )== & m1 );498 assert( & last( lm )== & m2 );497 assert( & lm`first == & m1 ); 498 assert( & lm`last == & m2 ); 499 499 } 500 500 … … 516 516 dlist(fred, fred.mine) lf; 517 517 518 assert( & first( lf )== 0p );519 assert( & last( lf )== 0p );518 assert( & lf`first == 0p ); 519 assert( & lf`last == 0p ); 520 520 521 521 insert_last(lf, f2); 522 522 523 assert( & first( lf )== & f2 );524 assert( & last( lf )== & f2 );523 assert( & lf`first == & f2 ); 524 assert( & lf`last == & 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( & first( lf )== & f1 );536 assert( & last( lf )== & f2 );535 assert( & lf`first == & f1 ); 536 assert( & lf`last == & f2 ); 537 537 } 538 538 … … 544 544 dlist(fred, fred.yours) lf; 545 545 546 assert( & first( lf )== 0p );547 assert( & last( lf )== 0p );546 assert( & lf`first == 0p ); 547 assert( & lf`last == 0p ); 548 548 549 549 insert_last(lf, f2); 550 550 551 assert( & first( lf )== & f2 );552 assert( & last( lf )== & f2 );551 assert( & lf`first == & f2 ); 552 assert( & lf`last == & 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( & first( lf )== & f1 );564 assert( & last( lf )== & f2 );563 assert( & lf`first == & f1 ); 564 assert( & lf`last == & f2 ); 565 565 } 566 566 … … 572 572 dlist(mary) lm; 573 573 574 assert( & first( lm )== 0p );575 assert( & last( lm )== 0p );574 assert( & lm`first == 0p ); 575 assert( & lm`last == 0p ); 576 576 577 577 insert_last(lm, m2); 578 578 579 assert( & first( lm )== & m2 );580 assert( & last( lm )== & m2 );579 assert( & lm`first == & m2 ); 580 assert( & lm`last == & 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( & first( lm )== & m1 );591 assert( & last( lm )== & m2 );590 assert( & lm`first == & m1 ); 591 assert( & lm`last == & m2 ); 592 592 } 593 593 #if 0 … … 891 891 insert_last(fly, f3); 892 892 893 printMyFreddies(f irst( flm ), last( flm ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7894 printYourFreddies(f irst( fly ), last( fly ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7893 printMyFreddies(flm`first, flm`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 894 printYourFreddies(fly`first, fly`last, 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 irst( flm ), last( flm ), 0); // 2.7, 3.7; 2.7; 3.7; 3.7, 2.7 (modified)905 printYourFreddies(f irst( fly ), last( fly ), 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified)904 printMyFreddies(flm`first, flm`last, 0); // 2.7, 3.7; 2.7; 3.7; 3.7, 2.7 (modified) 905 printYourFreddies(fly`first, fly`last, 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 irst( flm ), last( flm ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7933 printYourFreddies(f irst( fly ), last( fly ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7932 printMyFreddies(flm`first, flm`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 933 printYourFreddies(fly`first, fly`last, 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 irst( flm ), last( flm ), 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified)944 printYourFreddies(f irst( fly ), last( fly ), 0); // 2.7, 3.7; 2.7; 3.7; 3.7, 2.7 (modified)943 printMyFreddies(flm`first, flm`last, 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified) 944 printYourFreddies(fly`first, fly`last, 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( first( ml ), last( ml ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7965 printMariatheotokos(ml`first, ml`last, 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( first( ml ), last( ml ), 0); // 2.7, 3.7; 2.7; 3.7; 3.7, 2.7 (modified)973 printMariatheotokos(ml`first, ml`last, 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 irst( flm ), last( flm ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71010 printYourFreddies(f irst( fly ), last( fly ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71009 printMyFreddies(flm`first, flm`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 1010 printYourFreddies(fly`first, fly`last, 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 irst( flm ), last( flm ), 0); // 1.7, 2.7; 1.7; 2.7; 2.7, 1.7 (modified)1021 printYourFreddies(f irst( fly ), last( fly ), 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified)1020 printMyFreddies(flm`first, flm`last, 0); // 1.7, 2.7; 1.7; 2.7; 2.7, 1.7 (modified) 1021 printYourFreddies(fly`first, fly`last, 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 irst( flm ), last( flm ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71048 printYourFreddies(f irst( fly ), last( fly ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71047 printMyFreddies(flm`first, flm`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 1048 printYourFreddies(fly`first, fly`last, 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 irst( flm ), last( flm ), 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified)1059 printYourFreddies(f irst( fly ), last( fly ), 0); // 1.7, 2.7; 1.7; 2.7; 2.7, 1.7 (modified)1058 printMyFreddies(flm`first, flm`last, 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified) 1059 printYourFreddies(fly`first, fly`last, 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( first( ml ), last( ml ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71080 printMariatheotokos(ml`first, ml`last, 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( first( ml ), last( ml ), 0); // 1.7, 2.7; 1.7; 2.7; 2.7, 1.7 (modified)1088 printMariatheotokos(ml`first, ml`last, 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 irst( flm ), last( flm ), 1); // 0.7; 0.7; 0.7; 0.71119 printYourFreddies(f irst( fly ), last( fly ), 1); // 0.7; 0.7; 0.7; 0.71118 printMyFreddies(flm`first, flm`last, 1); // 0.7; 0.7; 0.7; 0.7 1119 printYourFreddies(fly`first, fly`last, 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( & first( flm )== 0p );1130 assert( & last( flm )== 0p );1131 1132 printYourFreddies(f irst( fly ), last( fly ), 0); // 0.7; 0.7; 0.7; 0.7 (unmodified)1129 assert( & flm`first == 0p ); 1130 assert( & flm`last == 0p ); 1131 1132 printYourFreddies(fly`first, fly`last, 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 irst( flm ), last( flm ), 0); // 0.7; 0.7; 0.7; 0.71144 printMyFreddies(flm`first, flm`last, 0); // 0.7; 0.7; 0.7; 0.7 1145 1145 } 1146 1146 … … 1155 1155 insert_last(fly, f); 1156 1156 1157 printMyFreddies(f irst( flm ), last( flm ), 1); // 0.7; 0.7; 0.7; 0.71158 printYourFreddies(f irst( fly ), last( fly ), 1); // 0.7; 0.7; 0.7; 0.71157 printMyFreddies(flm`first, flm`last, 1); // 0.7; 0.7; 0.7; 0.7 1158 printYourFreddies(fly`first, fly`last, 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( & first( fly )== 0p );1169 assert( & last( fly )== 0p );1170 1171 printYourFreddies(f irst( flm ), last( flm ), 0); // 0.7; 0.7; 0.7; 0.7 (unmodified)1168 assert( & fly`first == 0p ); 1169 assert( & fly`last == 0p ); 1170 1171 printYourFreddies(flm`first, flm`last, 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 irst( fly ), last( fly ), 0); // 0.7; 0.7; 0.7; 0.71183 printYourFreddies(fly`first, fly`last, 0); // 0.7; 0.7; 0.7; 0.7 1184 1184 } 1185 1185 … … 1191 1191 insert_last(ml, m); 1192 1192 1193 printMariatheotokos( first( ml ), last( ml ), 1); // 0.7; 0.7; 0.7; 0.71193 printMariatheotokos(ml`first, ml`last, 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( & first( ml )== 0p );1202 assert( & last( ml )== 0p );1201 assert( & ml`first == 0p ); 1202 assert( & ml`last == 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( first( ml ), last( ml ), 0); // 0.7; 0.7; 0.7; 0.71213 printMariatheotokos(ml`first, ml`last, 0); // 0.7; 0.7; 0.7; 0.7 1214 1214 } 1215 1215 … … 1242 1242 insert_last(fly, f3); 1243 1243 1244 printMyFreddies(f irst( flm ), last( flm ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71245 printYourFreddies(f irst( fly ), last( fly ), 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 = remove_first(flm);1251 1252 verify(validate(fly)); 1253 verify(validate(flm)); 1254 1255 printMyFreddies(f irst( flm ), last( flm ), 0); // 2.7, 3.7; 2.7; 3.7; 3.7, 2.7 (modified)1256 printYourFreddies(f irst( fly ), last( fly ), 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified)1244 printMyFreddies(flm`first, flm`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 1245 printYourFreddies(fly`first, fly`last, 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 = try_pop_front(flm); 1251 1252 verify(validate(fly)); 1253 verify(validate(flm)); 1254 1255 printMyFreddies(flm`first, flm`last, 0); // 2.7, 3.7; 2.7; 3.7; 3.7, 2.7 (modified) 1256 printYourFreddies(fly`first, fly`last, 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 irst( flm ), last( flm ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71281 printYourFreddies(f irst( fly ), last( fly ), 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 = remove_first(fly);1287 1288 verify(validate(fly)); 1289 verify(validate(flm)); 1290 1291 printMyFreddies(f irst( flm ), last( flm ), 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified)1292 printYourFreddies(f irst( fly ), last( fly ), 0); // 2.7, 3.7; 2.7; 3.7; 3.7, 2.7 (modified)1280 printMyFreddies(flm`first, flm`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 1281 printYourFreddies(fly`first, fly`last, 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 = try_pop_front(fly); 1287 1288 verify(validate(fly)); 1289 verify(validate(flm)); 1290 1291 printMyFreddies(flm`first, flm`last, 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified) 1292 printYourFreddies(fly`first, fly`last, 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( first( ml ), last( ml ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71311 printMariatheotokos(ml`first, ml`last, 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 = remove_first(ml);1315 mary & popped = try_pop_front(ml); 1316 1316 1317 1317 verify(validate(ml)); 1318 1318 1319 printMariatheotokos( first( ml ), last( ml ), 0); // 2.7, 3.7; 2.7; 3.7; 3.7, 2.7 (modified)1319 printMariatheotokos(ml`first, ml`last, 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 irst( flm ), last( flm ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71344 printYourFreddies(f irst( fly ), last( fly ), 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 = remove_last(flm);1350 1351 verify(validate(fly)); 1352 verify(validate(flm)); 1353 1354 printMyFreddies(f irst( flm ), last( flm ), 0); // 1.7, 2.7; 1.7; 2.7; 2.7, 1.7 (modified)1355 printYourFreddies(f irst( fly ), last( fly ), 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified)1343 printMyFreddies(flm`first, flm`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 1344 printYourFreddies(fly`first, fly`last, 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 = try_pop_back(flm); 1350 1351 verify(validate(fly)); 1352 verify(validate(flm)); 1353 1354 printMyFreddies(flm`first, flm`last, 0); // 1.7, 2.7; 1.7; 2.7; 2.7, 1.7 (modified) 1355 printYourFreddies(fly`first, fly`last, 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 irst( flm ), last( flm ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71380 printYourFreddies(f irst( fly ), last( fly ), 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 = remove_last(fly);1386 1387 verify(validate(fly)); 1388 verify(validate(flm)); 1389 1390 printMyFreddies(f irst( flm ), last( flm ), 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified)1391 printYourFreddies(f irst( fly ), last( fly ), 0); // 1.7, 2.7; 1.7; 2.7; 2.7, 1.7 (modified)1379 printMyFreddies(flm`first, flm`last, 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 1380 printYourFreddies(fly`first, fly`last, 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 = try_pop_back(fly); 1386 1387 verify(validate(fly)); 1388 verify(validate(flm)); 1389 1390 printMyFreddies(flm`first, flm`last, 0); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.7 (unmodified) 1391 printYourFreddies(fly`first, fly`last, 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( first( ml ), last( ml ), 1); // 1.7, 2.7, 3.7; 1.7; 3.7; 3.7, 2.7, 1.71410 printMariatheotokos(ml`first, ml`last, 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 = remove_last(ml);1414 mary & popped = try_pop_back(ml); 1415 1415 1416 1416 verify(validate(ml)); 1417 1417 1418 printMariatheotokos( first( ml ), last( ml ), 0); // 1.7, 1.7; 1.7; 2.7; 2.7, 1.7 (modified)1418 printMariatheotokos(ml`first, ml`last, 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, isFirst, isLast,1431 // remove_first, remove_last, modifications via iter1430 // Test cases of `isEmpty, `hasPrev, `hasNext, 1431 // try_pop_front, try_pop_back, modifications via `elems 1432 1432 // 1433 1433 // Example of call-side user code … … 1441 1441 mary m3 = {3.7}; 1442 1442 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 ));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); 1469 1469 1470 1470 printf("accessor_cases done\n"); … … 1486 1486 // queue, back to front 1487 1487 1488 assert( isEmpty( ml ));1488 assert( ml`isEmpty); 1489 1489 1490 1490 insert_last(ml, m1); … … 1492 1492 insert_last(ml, m3); 1493 1493 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 ));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); 1498 1498 1499 1499 assert( &m1r == &m1 ); … … 1508 1508 // queue, front to back 1509 1509 1510 assert( isEmpty( ml ));1510 assert( ml`isEmpty); 1511 1511 1512 1512 insert_first(ml, m1); … … 1514 1514 insert_first(ml, m3); 1515 1515 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 ));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); 1520 1520 1521 1521 assert( &m1r == &m1 ); … … 1530 1530 // stack at front 1531 1531 1532 assert( isEmpty( ml ));1532 assert( ml`isEmpty); 1533 1533 1534 1534 insert_first(ml, m1); … … 1536 1536 insert_first(ml, m3); 1537 1537 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 ));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); 1542 1542 1543 1543 assert( &m1r == &m1 ); … … 1552 1552 // stack at back 1553 1553 1554 assert( isEmpty( ml ));1554 assert( ml`isEmpty); 1555 1555 1556 1556 insert_last(ml, m1); … … 1558 1558 insert_last(ml, m3); 1559 1559 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 ));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); 1564 1564 1565 1565 assert( &m1r == &m1 ); … … 1580 1580 1581 1581 dlist(mary) ml; 1582 mary & mlorigin = iter( ml );1582 mary & mlorigin = ml`elems; 1583 1583 1584 1584 // insert before the origin 1585 1585 1586 insert_before( iter( ml ), m1 );1587 assert( ! isEmpty( ml ));1588 1589 mary & mlfirst = first( ml );1590 mary & mllast = last( ml );1586 insert_before( ml`elems, m1 ); 1587 assert( ! ml`isEmpty ); 1588 1589 mary & mlfirst = ml`first; 1590 mary & mllast = ml`last; 1591 1591 1592 1592 assert( &m1 == & mlfirst ); … … 1595 1595 // moveNext after last goes back to origin, &vv 1596 1596 1597 bool canMoveNext = advance( mllast );1598 bool canMovePrev = recede( mlfirst );1597 bool canMoveNext = mllast`moveNext; 1598 bool canMovePrev = mlfirst`movePrev; 1599 1599 1600 1600 assert( ! canMoveNext ); … … 1609 1609 void test__isListed_cases__mary() { 1610 1610 1611 mary m1 = {1.7}; assert( ! isListed( m1 ));1612 mary m2 = {2.7}; assert( ! isListed( m2 ));1613 mary m3 = {3.7}; assert( ! isListed( m3 ));1611 mary m1 = {1.7}; assert(! m1`isListed); 1612 mary m2 = {2.7}; assert(! m2`isListed); 1613 mary m3 = {3.7}; assert(! m3`isListed); 1614 1614 1615 1615 dlist(mary) ml; 1616 1616 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 ));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); 1624 1624 1625 1625 printf("isListed cases done\n");
Note:
See TracChangeset
for help on using the changeset viewer.