;;;; uuid-lib-test.scm (use testbase testbase-output-human) (use uuid-lib) (import uuid-lib) (define-test test-uuid "UUID" (test/case "Null" (expect-true (uuid? (uuid-generate))) (expect-false (uuid-null? (uuid-generate))) (expect-true (uuid-null? (uuid-clear! (uuid-generate)))) ) (test/case "Comparison" ( [tuuid (uuid-generate)] ) (expect-true (uuid=? tuuid tuuid)) (expect-true (uuid<=? tuuid tuuid)) (expect-true (uuid>=? tuuid tuuid)) ) (test/case "Generate" (expect-not-false (uuid-generate 'time)) (expect-not-false (uuid-generate 'random)) (expect-failure (uuid-generate 2)) ) (test/case "External Form" ( [tuuid (uuid-generate)] ) (expect-true (uuid=? tuuid (uuid-parse (uuid-unparse tuuid 'lower)))) (expect-false (uuid=? (uuid-generate) (uuid-parse (uuid-unparse tuuid 'lower)))) (expect-failure (uuid-unparse tuuid 2)) ) (test/case "Finalizer" (expect-success (gc)) ) ) (test::styler-set! test-uuid test::output-style-human) (run-test "Library UUID Tests")