random-utils-test.scm 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. (use-modules
  2. ;; SRFI 64 for unit testing facilities
  3. (srfi srfi-64)
  4. ;; Utilities for testing
  5. (utils random-utils))
  6. (test-begin "random-utils-test")
  7. (test-group
  8. "make-random-integer-generator"
  9. (test-assert "make-random-integer-generator seeded gives always same integers"
  10. (let ([seed 1248]
  11. [num-of-rand-ints 100]
  12. [upper-bound 1000])
  13. (equal?
  14. (let ([rand-int (make-random-integer-generator #:seed seed)])
  15. (let loop ([remaining-rand-ints num-of-rand-ints]
  16. [generated-rand-ints '()])
  17. (cond
  18. [(= remaining-rand-ints 0) generated-rand-ints]
  19. [else
  20. (loop (- remaining-rand-ints 1)
  21. (cons (rand-int upper-bound)
  22. generated-rand-ints))])))
  23. (let ([rand-int (make-random-integer-generator #:seed seed)])
  24. (let loop ([remaining-rand-ints num-of-rand-ints]
  25. [generated-rand-ints '()])
  26. (cond
  27. [(= remaining-rand-ints 0) generated-rand-ints]
  28. [else
  29. (loop (- remaining-rand-ints 1)
  30. (cons (rand-int upper-bound)
  31. generated-rand-ints))])))))))
  32. (test-end "random-utils-test")