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
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)
|
|
|