494
494
(equal? '# () (string->vector/cursors " abc" 3 )))
495
495
(test-assert " string->vector/cursors"
496
496
(equal? '# (#\b #\c ) (string->vector/cursors " abc" 1 3 )))
497
- (test-assert
498
- " string->vector/cursors"
499
- (equal?
500
- '# (#\b #\c )
497
+ (test-assert " string->vector/cursors"
498
+ (equal? '# (#\b #\c )
501
499
(string->vector/cursors " abc" (string-index->cursor " abc" 1 )
502
500
(string-index->cursor " abc" 3 ))))
503
501
(test-assert " reverse-list->string" (equal? " " (reverse-list->string '() )))
510
508
(test-assert " string-join"
511
509
(equal? " abcdef" (string-join ' (" " " ab" " cd" " " " e" " f" " " ) " " )))
512
510
(test-assert " string-join" (equal? " " (string-join '() " xyz" )))
513
- (test-assert
514
- " string-join"
511
+ (test-assert " string-join"
515
512
(equal? " xyzabxyzcdxyzxyzexyzfxyz"
516
513
(string-join ' (" " " ab" " cd" " " " e" " f" " " ) " xyz" )))
517
514
(test-assert " string-join" (equal? " " (string-join '() " " 'infix )))
518
515
(test-assert " string-join"
519
516
(equal? " abcdef" (string-join ' (" " " ab" " cd" " " " e" " f" " " ) " " 'infix )))
520
517
(test-assert " string-join" (equal? " " (string-join '() " xyz" 'infix )))
521
- (test-assert
522
- " string-join"
518
+ (test-assert " string-join"
523
519
(equal? " xyzabxyzcdxyzxyzexyzfxyz"
524
520
(string-join ' (" " " ab" " cd" " " " e" " f" " " ) " xyz" 'infix )))
525
521
(test-assert " string-join"
538
534
(test-assert " string-join"
539
535
(equal? " abcdef" (string-join ' (" " " ab" " cd" " " " e" " f" " " ) " " 'suffix )))
540
536
(test-assert " string-join" (equal? " " (string-join '() " xyz" 'suffix )))
541
- (test-assert
542
- " string-join"
537
+ (test-assert " string-join"
543
538
(equal? " xyzabxyzcdxyzxyzexyzfxyzxyz"
544
539
(string-join ' (" " " ab" " cd" " " " e" " f" " " ) " xyz" 'suffix )))
545
540
(test-assert " string-join" (equal? " " (string-join '() " " 'prefix )))
546
541
(test-assert " string-join"
547
542
(equal? " abcdef" (string-join ' (" " " ab" " cd" " " " e" " f" " " ) " " 'prefix )))
548
543
(test-assert " string-join" (equal? " " (string-join '() " xyz" 'prefix )))
549
- (test-assert
550
- " string-join"
544
+ (test-assert " string-join"
551
545
(equal? " xyzxyzabxyzcdxyzxyzexyzfxyz"
552
546
(string-join ' (" " " ab" " cd" " " " e" " f" " " ) " xyz" 'prefix )))
553
547
563
557
(test-assert " substring/cursors" (string=? " " (substring/cursors " abc" 0 0 )))
564
558
(test-assert " substring/cursors" (string=? " " (substring/cursors " abc" 3 3 )))
565
559
(test-assert " substring/cursors" (string=? ABC (substring/cursors ABC 0 3 )))
566
- (test-assert
567
- " substring/cursors"
568
- (string=?
569
- ABC
560
+ (test-assert " substring/cursors"
561
+ (string=? ABC
570
562
(substring/cursors ABC (string-index->cursor " abc" 0 )
571
563
(string-index->cursor " abc" 3 ))))
572
564
(test-assert " substring/cursors" (string=? " b" (substring/cursors " abc" 1 2 )))
1414
1406
(string-concatenate-reverse ' (" " " a" " bcd" " " " ef" " " " " ))))
1415
1407
(test-assert " string-concatenate-reverse"
1416
1408
(string=? " huh?" (string-concatenate-reverse '() " huh?" )))
1417
- (test-assert
1418
- " string-concatenate-reverse"
1409
+ (test-assert " string-concatenate-reverse"
1419
1410
(string=? " efbcdaxy"
1420
1411
(string-concatenate-reverse ' (" " " a" " bcd" " " " ef" " " " " ) " xy" )))
1421
1412
(test-assert " string-concatenate-reverse"
1422
1413
(string=? " huh" (string-concatenate-reverse '() " huh?" 3 )))
1423
- (test-assert
1424
- " string-concatenate-reverse"
1414
+ (test-assert " string-concatenate-reverse"
1425
1415
(string=? " efbcdax"
1426
1416
(string-concatenate-reverse ' (" " " a" " bcd" " " " ef" " " " " ) " x" 1 )))
1427
- (test-assert
1428
- " string-fold"
1429
- (=
1430
- 8
1431
- (string-fold (lambda (c count ) (if (char-whitespace? c) (+ count 1 ) count))
1432
- 0 " ...a couple of spaces in this one... " )))
1433
- (test-assert
1434
- " string-fold"
1435
- (=
1436
- 7
1437
- (string-fold (lambda (c count ) (if (char-whitespace? c) (+ count 1 ) count))
1438
- 0 " ...a couple of spaces in this one... " 1 )))
1439
- (test-assert
1440
- " string-fold"
1441
- (=
1442
- 6
1443
- (string-fold (lambda (c count ) (if (char-whitespace? c) (+ count 1 ) count))
1444
- 0 " ...a couple of spaces in this one... " 1 32 )))
1417
+ (test-assert " string-fold"
1418
+ (= 8 (string-fold (lambda (c count )
1419
+ (if (char-whitespace? c) (+ count 1 ) count))
1420
+ 0 " ...a couple of spaces in this one... " )))
1421
+ (test-assert " string-fold"
1422
+ (= 7 (string-fold (lambda (c count )
1423
+ (if (char-whitespace? c) (+ count 1 ) count))
1424
+ 0 " ...a couple of spaces in this one... " 1 )))
1425
+ (test-assert " string-fold"
1426
+ (= 6 (string-fold (lambda (c count )
1427
+ (if (char-whitespace? c) (+ count 1 ) count))
1428
+ 0 " ...a couple of spaces in this one... " 1 32 )))
1445
1429
(test-assert " string-fold-right"
1446
1430
(equal? (string->list " abcdef" ) (string-fold-right cons '() " abcdef" )))
1447
1431
(test-assert " string-fold-right"
1448
1432
(equal? (string->list " def" ) (string-fold-right cons '() " abcdef" 3 )))
1449
1433
(test-assert " string-fold-right"
1450
1434
(equal? (string->list " cde" ) (string-fold-right cons '() " abcdef" 2 5 )))
1451
1435
(test-assert " string-fold"
1452
- (string=?
1453
- " aabraacaadaabraa "
1454
- ( let* ((s " abracadabra " )
1455
- (ans-len
1456
- (string-fold ( lambda ( c sum ) (+ sum (if (char=? c #\a ) 2 1 )))
1457
- 0 s))
1458
- (ans (make-string ans-len)))
1459
- (string-fold
1460
- ( lambda ( c i )
1461
- ( let ((i ( if ( char=? c #\a )
1462
- ( begin ( string-set! ans i #\a ) (+ i 1 ))
1463
- i)))
1464
- (string-set! ans i c) (+ i 1 )))
1465
- 0 s)
1466
- ans)))
1436
+ (string=? " aabraacaadaabraa "
1437
+ ( let* ((s " abracadabra " )
1438
+ (ans-len
1439
+ (string-fold ( lambda ( c sum )
1440
+ (+ sum (if (char=? c #\a ) 2 1 )))
1441
+ 0 s))
1442
+ (ans (make-string ans-len)))
1443
+ (string-fold ( lambda ( c i )
1444
+ ( let ((i ( if ( char=? c #\a )
1445
+ ( begin ( string-set! ans i #\a )
1446
+ (+ i 1 ))
1447
+ i)))
1448
+ (string-set! ans i c) (+ i 1 )))
1449
+ 0 s)
1450
+ ans)))
1467
1451
(test-assert " string-for-each-cursor"
1468
1452
(equal?
1469
1453
' (101 100 99 98 97 )
1502
1486
(test-assert " string-split" (equal? ' (" a" " b" " c" ) (string-split " abc" " " )))
1503
1487
(test-assert " string-split"
1504
1488
(equal? ' (" too" " " " much" " " " data" ) (string-split " too much data" " " )))
1505
- (test-assert
1506
- " string-split"
1489
+ (test-assert " string-split"
1507
1490
(equal? ' (" " " there" " ya" " go" " " )
1508
1491
(string-split " ***there***ya***go***" " ***" )))
1509
1492
(test-assert " string-split" (equal? '() (string-split " " " " 'infix )))
1510
1493
(test-assert " string-split"
1511
1494
(equal? ' (" a" " b" " c" ) (string-split " abc" " " 'infix )))
1512
- (test-assert
1513
- " string-split"
1495
+ (test-assert " string-split"
1514
1496
(equal? ' (" too" " " " much" " " " data" )
1515
1497
(string-split " too much data" " " 'infix )))
1516
- (test-assert
1517
- " string-split"
1498
+ (test-assert " string-split"
1518
1499
(equal? ' (" " " there" " ya" " go" " " )
1519
1500
(string-split " ***there***ya***go***" " ***" 'infix )))
1520
1501
(test-assert " string-split"
@@ -1523,131 +1504,106 @@
1523
1504
(string-split " " " " 'strict-infix ))))
1524
1505
(test-assert " string-split"
1525
1506
(equal? ' (" a" " b" " c" ) (string-split " abc" " " 'strict-infix )))
1526
- (test-assert
1527
- " string-split"
1507
+ (test-assert " string-split"
1528
1508
(equal? ' (" too" " " " much" " " " data" )
1529
1509
(string-split " too much data" " " 'strict-infix )))
1530
- (test-assert
1531
- " string-split"
1510
+ (test-assert " string-split"
1532
1511
(equal? ' (" " " there" " ya" " go" " " )
1533
1512
(string-split " ***there***ya***go***" " ***" 'strict-infix )))
1534
1513
(test-assert " string-split" (equal? '() (string-split " " " " 'prefix )))
1535
1514
(test-assert " string-split"
1536
1515
(equal? ' (" a" " b" " c" ) (string-split " abc" " " 'prefix )))
1537
- (test-assert
1538
- " string-split"
1516
+ (test-assert " string-split"
1539
1517
(equal? ' (" too" " " " much" " " " data" )
1540
1518
(string-split " too much data" " " 'prefix )))
1541
- (test-assert
1542
- " string-split"
1519
+ (test-assert " string-split"
1543
1520
(equal? ' (" there" " ya" " go" " " )
1544
1521
(string-split " ***there***ya***go***" " ***" 'prefix )))
1545
1522
(test-assert " string-split" (equal? '() (string-split " " " " 'suffix )))
1546
1523
(test-assert " string-split"
1547
1524
(equal? ' (" a" " b" " c" ) (string-split " abc" " " 'suffix )))
1548
- (test-assert
1549
- " string-split"
1525
+ (test-assert " string-split"
1550
1526
(equal? ' (" too" " " " much" " " " data" )
1551
1527
(string-split " too much data" " " 'suffix )))
1552
- (test-assert
1553
- " string-split"
1528
+ (test-assert " string-split"
1554
1529
(equal? ' (" " " there" " ya" " go" )
1555
1530
(string-split " ***there***ya***go***" " ***" 'suffix )))
1556
1531
(test-assert " string-split" (equal? '() (string-split " " " " 'infix #f )))
1557
1532
(test-assert " string-split"
1558
1533
(equal? ' (" a" " b" " c" ) (string-split " abc" " " 'infix #f )))
1559
- (test-assert
1560
- " string-split"
1534
+ (test-assert " string-split"
1561
1535
(equal? ' (" too" " " " much" " " " data" )
1562
1536
(string-split " too much data" " " 'infix #f )))
1563
- (test-assert
1564
- " string-split"
1537
+ (test-assert " string-split"
1565
1538
(equal? ' (" " " there" " ya" " go" " " )
1566
1539
(string-split " ***there***ya***go***" " ***" 'infix #f )))
1567
- (test-assert
1568
- " string-split"
1540
+ (test-assert " string-split"
1569
1541
(equal? 'error
1570
1542
(guard (exn (else 'error )) (string-split " " " " 'strict-infix #f ))))
1571
1543
(test-assert " string-split"
1572
1544
(equal? ' (" a" " b" " c" ) (string-split " abc" " " 'strict-infix #f )))
1573
- (test-assert
1574
- " string-split"
1545
+ (test-assert " string-split"
1575
1546
(equal? ' (" too" " " " much" " " " data" )
1576
1547
(string-split " too much data" " " 'strict-infix #f )))
1577
- (test-assert
1578
- " string-split"
1548
+ (test-assert " string-split"
1579
1549
(equal? ' (" " " there" " ya" " go" " " )
1580
1550
(string-split " ***there***ya***go***" " ***" 'strict-infix #f )))
1581
1551
(test-assert " string-split" (equal? '() (string-split " " " " 'prefix #f )))
1582
1552
(test-assert " string-split"
1583
1553
(equal? ' (" a" " b" " c" ) (string-split " abc" " " 'prefix #f )))
1584
- (test-assert
1585
- " string-split"
1554
+ (test-assert " string-split"
1586
1555
(equal? ' (" too" " " " much" " " " data" )
1587
1556
(string-split " too much data" " " 'prefix #f )))
1588
- (test-assert
1589
- " string-split"
1557
+ (test-assert " string-split"
1590
1558
(equal? ' (" there" " ya" " go" " " )
1591
1559
(string-split " ***there***ya***go***" " ***" 'prefix #f )))
1592
1560
(test-assert " string-split" (equal? '() (string-split " " " " 'suffix #f )))
1593
1561
(test-assert " string-split"
1594
1562
(equal? ' (" a" " b" " c" ) (string-split " abc" " " 'suffix #f )))
1595
- (test-assert
1596
- " string-split"
1563
+ (test-assert " string-split"
1597
1564
(equal? ' (" too" " " " much" " " " data" )
1598
1565
(string-split " too much data" " " 'suffix #f )))
1599
- (test-assert
1600
- " string-split"
1566
+ (test-assert " string-split"
1601
1567
(equal? ' (" " " there" " ya" " go" )
1602
1568
(string-split " ***there***ya***go***" " ***" 'suffix #f )))
1603
- (test-assert
1604
- " string-split"
1569
+ (test-assert " string-split"
1605
1570
(equal? 'error
1606
1571
(guard (exn (else 'error )) (string-split " " " " 'strict-infix 3 ))))
1607
1572
(test-assert " string-split"
1608
1573
(equal? ' (" a" " b" " c" ) (string-split " abc" " " 'strict-infix 3 )))
1609
- (test-assert
1610
- " string-split"
1574
+ (test-assert " string-split"
1611
1575
(equal? ' (" too" " " " much" " data" )
1612
1576
(string-split " too much data" " " 'strict-infix 3 )))
1613
- (test-assert
1614
- " string-split"
1577
+ (test-assert " string-split"
1615
1578
(equal? ' (" " " there" " ya" " go***" )
1616
1579
(string-split " ***there***ya***go***" " ***" 'strict-infix 3 )))
1617
1580
(test-assert " string-split" (equal? '() (string-split " " " " 'prefix 3 )))
1618
1581
(test-assert " string-split"
1619
1582
(equal? ' (" a" " b" " c" ) (string-split " abc" " " 'prefix 3 )))
1620
- (test-assert
1621
- " string-split"
1583
+ (test-assert " string-split"
1622
1584
(equal? ' (" too" " " " much" " data" )
1623
1585
(string-split " too much data" " " 'prefix 3 )))
1624
- (test-assert
1625
- " string-split"
1586
+ (test-assert " string-split"
1626
1587
(equal? ' (" there" " ya" " go***" )
1627
1588
(string-split " ***there***ya***go***" " ***" 'prefix 3 )))
1628
1589
(test-assert " string-split" (equal? '() (string-split " " " " 'suffix 3 )))
1629
1590
(test-assert " string-split"
1630
1591
(equal? ' (" a" " b" " c" ) (string-split " abc" " " 'suffix 3 )))
1631
- (test-assert
1632
- " string-split"
1592
+ (test-assert " string-split"
1633
1593
(equal? ' (" too" " " " much" " data" )
1634
1594
(string-split " too much data" " " 'suffix 3 )))
1635
- (test-assert
1636
- " string-split"
1595
+ (test-assert " string-split"
1637
1596
(equal? ' (" " " there" " ya" " go***" )
1638
1597
(string-split " ***there***ya***go***" " ***" 'suffix 3 )))
1639
- (test-assert
1640
- " string-split"
1598
+ (test-assert " string-split"
1641
1599
(equal? 'error
1642
1600
(guard (exn (else 'error )) (string-split " " " " 'strict-infix 3 0 ))))
1643
1601
(test-assert " string-split"
1644
1602
(equal? ' (" b" " c" ) (string-split " abc" " " 'strict-infix 3 1 )))
1645
- (test-assert
1646
- " string-split"
1603
+ (test-assert " string-split"
1647
1604
(equal? ' (" oo" " " " much" " data" )
1648
1605
(string-split " too much data" " " 'strict-infix 3 1 )))
1649
- (test-assert
1650
- " string-split"
1606
+ (test-assert " string-split"
1651
1607
(equal? ' (" **there" " ya" " go" " " )
1652
1608
(string-split " ***there***ya***go***" " ***" 'strict-infix 3 1 )))
1653
1609
(test-assert " string-split" (equal? '() (string-split " " " " 'prefix 3 0 )))
0 commit comments