FIZZBUZZのテストを書き直し

(ns test.fizzbuzz
  (:use clojure.test))

(defn whole-numbers [] (iterate inc 1))
(defn fizzbuzz [num]
  (cond
    (= (rem num 15) 0) "FIZZBUZZ"
    (= (rem num 3) 0)  "FIZZ"
    (= (rem num 5) 0)  "BUZZ"
    :else              (str num)))

(deftest fizzbuzz-test
  (are [expected in] (= expected (fizzbuzz in))
    ; expected  in
      "1" 1
     "FIZZ" 3
     "4" 4
     "BUZZ" 5
     "FIZZ" 6
     "FIZZ" 9
     "BUZZ" 10
     "FIZZBUZZ" 15
     "29" 29
     "FIZZBUZZ" 30
  ))

are という文法を知った。前より簡潔になった気がする。
Data Driven Testを、JUnit でも RSpecでも簡潔かつ解りやすく書きたいんだが、未だにわかってない。