You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

19 lines
488 B

(require 'ert)
(require 'dash)
(require 'dash-functional)
(defun example-to-should (example)
(-let [(actual sym expected) example]
(cond
((eq sym '=>)
`(should (equal ,actual ,expected)))
((eq sym '!!>)
`(should-error (eval ',actual) :type ',expected)))))
(defmacro defexamples (cmd &rest examples)
`(ert-deftest ,cmd ()
,@(-map 'example-to-should (-partition 3 examples))))
(defun def-example-group (&rest _)) ; ignore
(provide 'examples-to-tests)