+ (hash-table-count *suites*))))
+
+(defvar *special-variable* nil)
+
+(def-fixture fixture-for-suite (value)
+ (progn
+ (setf *special-variable* value)
+ (&body)))
+
+(def-suite suite-with-fixture :fixture (fixture-for-suite 42) :in :it.bese.fiveam)
+
+(def-test test-with-suite-fixture (:suite suite-with-fixture)
+ (is (= 42 *special-variable*)))
+
+(def-test add-remove-test-from-suite ()
+ (let ((*test* (make-hash-table :test 'eql))
+ (*suites* (make-hash-table :test 'eql)))
+ (in-suite* empty :in nil)
+ (is (null (get-test 'foo)))
+
+ (def-test foo (:suite nil) t)
+ (is-true (get-test 'foo))
+ (is-false (gethash 'foo (tests *suite*)))
+
+ (def-test foo () t)
+ (is-true (gethash 'foo (tests *suite*)))
+
+ (def-test foo (:suite nil) t)
+ (is-false (gethash 'foo (tests *suite*)))))