Skip to content

Instantly share code, notes, and snippets.

@zv

zv/mincase.scm Secret

Created August 26, 2016 22:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zv/95ae2661fad370f27dd8b606aba23ed5 to your computer and use it in GitHub Desktop.
Save zv/95ae2661fad370f27dd8b606aba23ed5 to your computer and use it in GitHub Desktop.
(use-modules (srfi srfi-64))
(define (my-simple-runner)
(let* ((runner (test-runner-null))
(num-passed 0)
(num-failed 0))
(test-runner-on-test-end! runner
(lambda (runner)
(case (test-result-kind runner)
((pass xpass) (set! num-passed (+ num-passed 1)))
((fail xfail)
(begin
(let
((rez (test-result-alist runner)))
(format #t
"~a::~a\n Expected Value: ~a | Actual Value: ~a\n Error: ~a\n Form: ~a\n"
(assoc-ref rez 'source-file)
(assoc-ref rez 'source-line)
(assoc-ref rez 'expected-value)
(assoc-ref rez 'actual-value)
(assoc-ref rez 'actual-error)
(assoc-ref rez 'source-form))
(set! num-failed (+ num-failed 1)))))
(else
(format #t "something happened here\n")
))))
(test-runner-on-final! runner
(lambda (runner)
(format #t "Passed: ~d || Failed: ~d.~%"
num-passed num-failed)))
runner))
(test-runner-factory
(lambda () (my-simple-runner)))
(test-begin "Tests")
(test-equal
(query/eval '(job ?x (computer programmer)))
'((job (Fect Cy D) (computer programmer)) (job (Hacker Alyssa P) (computer programmer))))
(test-end "Tests")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment