]> gitweb.factorcode.org Git - factor.git/commitdiff
sequences.extras: adding pad-longest.
authorJohn Benediktsson <mrjbq7@gmail.com>
Sun, 15 Apr 2012 17:32:45 +0000 (10:32 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Sun, 15 Apr 2012 17:32:45 +0000 (10:32 -0700)
extra/sequences/extras/extras-tests.factor
extra/sequences/extras/extras.factor

index 2a404ff892522ee149cc791760053c1b607c9f94..8a1b9a1c989d441b70a0316c1b0c8c5e3f672b5a 100644 (file)
@@ -21,3 +21,10 @@ IN: sequences.extras.tests
 [ "abcd" ] [ "abcd" "abcde" longest-subseq ] unit-test
 [ "foo" ] [ "foo" "foobar" longest-subseq ] unit-test
 [ "foo" ] [ "foobar" "foo" longest-subseq ] unit-test
+
+[ "" "" ] [ "" "" CHAR: ? pad-longest ] unit-test
+[ "abc" "def" ] [ "abc" "def" CHAR: ? pad-longest ] unit-test
+[ "   " "abc" ] [ "" "abc" CHAR: \s pad-longest ] unit-test
+[ "abc" "   " ] [ "abc" "" CHAR: \s pad-longest ] unit-test
+[ "abc..." "foobar" ] [ "abc" "foobar" CHAR: . pad-longest ] unit-test
+
index ccf41154fa18f03b916a40bb7c1877cd634b5188..200a82f8f80381407cdffa2507c0ad46908f8fd7 100644 (file)
@@ -66,3 +66,5 @@ IN: sequences.extras
         ] each
     ] each end n - end seq1 subseq ;
 
+: pad-longest ( seq1 seq2 elt -- seq1 seq2 )
+    [ 2dup max-length ] dip [ pad-tail ] 2curry bi@ ;