Skip to content
Snippets Groups Projects
Commit 30bdad6a authored by pfdietz's avatar pfdietz
Browse files

More tests for ~< ~>

parent 60ae4124
No related branches found
No related tags found
No related merge requests found
......@@ -54,3 +54,119 @@
collect (list i expected s2))
nil)
(def-pprint-test format.justify.7
(loop for mincol = (random 50)
for len = (random 50)
for s1 = (make-string len :initial-element #\x)
for s2 = (format nil "~v<~A~>" mincol s1)
for expected = (if (< len mincol)
(concatenate 'string
(make-string (- mincol len) :initial-element #\Space)
s1)
s1)
repeat 100
unless (string= s2 expected)
collect (list mincol len s1 s2 expected))
nil)
(def-pprint-test format.justify.8
(loop for mincol = (random 50)
for minpad = (random 10)
for len = (random 50)
for s1 = (make-string len :initial-element #\x)
for s2 = (format nil "~v,,v<~A~>" mincol minpad s1)
for expected = (if (< len mincol)
(concatenate 'string
(make-string (- mincol len) :initial-element #\Space)
s1)
s1)
repeat 100
unless (string= s2 expected)
collect (list mincol minpad len s1 s2 expected))
nil)
(def-pprint-test format.justify.9
(loop for mincol = (random 50)
for padchar = (random-from-seq +standard-chars+)
for len = (random 50)
for s1 = (make-string len :initial-element #\x)
for s2 = (format nil "~v,,,v<~A~>" mincol padchar s1)
for expected = (if (< len mincol)
(concatenate 'string
(make-string (- mincol len) :initial-element padchar)
s1)
s1)
repeat 100
unless (string= s2 expected)
collect (list mincol padchar len s1 s2 expected))
nil)
(def-pprint-test format.justify.10
(loop for mincol = (random 50)
for padchar = (random-from-seq +standard-chars+)
for len = (random 50)
for s1 = (make-string len :initial-element #\x)
for s2 = (format nil (format nil "~~~d,,,'~c<~~A~~>" mincol padchar) s1)
for expected = (if (< len mincol)
(concatenate 'string
(make-string (- mincol len) :initial-element padchar)
s1)
s1)
repeat 500
unless (string= s2 expected)
collect (list mincol padchar len s1 s2 expected))
nil)
(def-pprint-test format.justify.11
(loop for i = (1+ (random 20))
for colinc = (1+ (random 10))
for s1 = (make-string i :initial-element #\x)
for s2 = (format nil "~,v<~A~>" colinc s1)
for expected-len = (* colinc (ceiling i colinc))
for expected = (concatenate 'string
(make-string (- expected-len i) :initial-element #\Space)
s1)
repeat 10
unless (string= expected s2)
collect (list i colinc expected s2))
nil)
(def-pprint-test format.justify.12
(format nil "~<XXXXXX~^~>")
"")
(def-pprint-test format.justify.13
(format nil "~<XXXXXX~;YYYYYYY~^~>")
"XXXXXX")
(def-pprint-test format.justify.14
(format nil "~<XXXXXX~;YYYYYYY~^~;ZZZZZ~>")
"XXXXXX")
(def-pprint-test format.justify.15
(format nil "~13,,2<aaa~;bbb~;ccc~>")
"aaa bbb ccc")
(def-pprint-test format.justify.16
(format nil "~10@<abcdef~>")
"abcdef ")
(def-pprint-test format.justify.17
(format nil "~10:@<abcdef~>")
" abcdef ")
(def-pprint-test format.justify.18
(format nil "~10:<abcdef~>")
" abcdef")
(def-pprint-test format.justify.19
(format nil "~4@<~>")
" ")
(def-pprint-test format.justify.20
(format nil "~5:@<~>")
" ")
(def-pprint-test format.justify.21
(format nil "~6:<~>")
" ")
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment