summaryrefslogtreecommitdiff
path: root/dev/examples-to-tests.el
diff options
context:
space:
mode:
Diffstat (limited to 'dev/examples-to-tests.el')
-rw-r--r--dev/examples-to-tests.el22
1 files changed, 22 insertions, 0 deletions
diff --git a/dev/examples-to-tests.el b/dev/examples-to-tests.el
new file mode 100644
index 0000000..bbed66b
--- /dev/null
+++ b/dev/examples-to-tests.el
@@ -0,0 +1,22 @@
+(require 'ert)
+
+(defun examples-to-should-1 (examples)
+ (let ((actual (car examples))
+ (expected (cadr (cdr examples))))
+ `(should (equal ,actual ,expected))))
+
+(defun examples-to-should (examples)
+ (let (result)
+ (while examples
+ (setq result (cons (examples-to-should-1 examples) result))
+ (setq examples (cddr (cdr examples))))
+ (nreverse result)))
+
+(defmacro defexamples (cmd &rest examples)
+ (declare (indent 1))
+ `(ert-deftest ,cmd ()
+ ,@(examples-to-should examples)))
+
+(defun def-example-group (&rest _)) ; ignore
+
+(provide 'examples-to-tests)