blob: fc858f2dc4ed7d1d8cf7eb91411bc0e9a2cdb9df (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
;; Copyright (c) Frantisek Sodomka. All rights reserved. The use and
;; distribution terms for this software are covered by the Eclipse Public
;; License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) which can
;; be found in the file epl-v10.html at the root of this distribution. By
;; using this software in any fashion, you are agreeing to be bound by the
;; terms of this license. You must not remove this notice, or any other,
;; from this software.
(ns clojure.contrib.test-clojure.test-utils
(:use [clojure.contrib.combinatorics :only (combinations)]))
(defn exception
"Use this function to ensure that execution of a program doesn't
reach certain point."
[]
(throw (new Exception "Exception which should never occur")))
(defmacro all-are
"Test all-with-all.
(all-are (= _1 _2)
a b c)
=>
(do
(is (= a b))
(is (= a c))
(is (= b c)))"
[expr & args]
(concat
(list 'clojure.contrib.template/do-template (list 'clojure.contrib.test-is/is expr))
(apply concat (combinations args 2))))
|