+(defmethod run-on-test-results ((ob test-suite) (result test-results)
+ &key (handle-errors t))
+ (mapc #'(lambda (composite) ;;test-case or suite
+ (run-on-test-results composite result
+ :handle-errors handle-errors))
+ (tests ob)))
+
+(defmethod named-test (name (suite test-suite))
+ (some (lambda (test-or-suite)
+ (when (and (typep test-or-suite 'test-case)
+ (equal name (name test-or-suite)))
+ test-or-suite))
+ (tests suite)))
+
+(defmethod remove-test ((test test) (suite test-suite))
+ (setf (tests suite)
+ (delete-if #'(lambda (existing-tests-or-suite)
+ (cond ((typep existing-tests-or-suite 'test-suite)
+ (eq existing-tests-or-suite new-test))
+ ((typep existing-tests-or-suite 'test-case)
+ (eql (name existing-tests-or-suite)
+ (name test)))))
+ (tests suite))))