add some tests to help when porting to new enumeration combinators

This commit is contained in:
Robby Findler 2014-11-21 15:20:14 -06:00
parent f0b2e429f5
commit 21964bd89e

View File

@ -361,6 +361,73 @@
(cons '(2 . 1) (set '(2 . 0) '(2 . 2)))
(cons '(2 . 2) (set '(2 . 1) '(1 . 2)))))))
(module+ test
(check-equal? (for/list ([i (in-range 1 10)])
(for/list ([j (in-range 1 10)])
(spec-k (maze/s i j))))
'((1 1 1 1 1 1 1 1 1)
(1 4 14 32 60 100 154 224 312)
(1 14 192 1592 9088 40200 144640 442024 1187712)
(1 32 1592 48576 966432 14277056 162024480 1483461856 11380684512)
(1 60 9088 966432 64276480 3107936000 108447726080 2888781507968 63634822939136)
(1 100 40200 14277056 3107936000 505206939648 57343330411904 4517833584448000 265075058064153216)
(1 154 144640 162024480 108447726080 57343330411904 22277369393520640 5823531873245840896 1048876337051644747776)
(1 224 442024 1483461856 2888781507968 4517833584448000 5823531873245840896 5198113431992927961088 3121738536955876740462592)
(1 312 1187712 11380684512 63634822939136 265075058064153216 1048876337051644747776 3121738536955876740462592 6287843749463133375691948032)))
(check-equal?
(for/list ([i (in-range 50)]) (decode-maze 6 6 i))
'(((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 2 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 3 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 4 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 0 1) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 1 1) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 2 1) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 3 1) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 4 1) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 0 2) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 1 2) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 2 2) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 3 2) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 4 2) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 0 3) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 1 3) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 2 3) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 3 3) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 4 3) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 0 4) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 1 4) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 2 4) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 3 4) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 4 4) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 2 0) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 3 0) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 4 0) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 0 1) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 1 1) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 2 1) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 3 1) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 4 1) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 0 2) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 1 2) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 2 2) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 3 2) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 4 2) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 0 3) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 1 3) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 2 3) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 3 3) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 4 3) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 0 4) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 1 4) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 2 4) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 3 4) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f)))))
((1 1 l) (#f 0 4 4) #f #f #f ((1 1 l) (#f 0 1 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f ((1 1 l) (#f 0 0 0) #f #f #f #f))))))))
(define (show-mazes)
;(define maze-w 34) (define maze-h 44)