- (apply #'format stream
- (simple-condition-format-control (thrown-condition obj))
- (simple-condition-format-arguments (thrown-condition obj)))))
+ (apply #'format stream
+ (simple-condition-format-control (thrown-condition obj))
+ (simple-condition-format-arguments (thrown-condition obj)))))
+
+(defmethod was-successful ((result test-results))
+ "Returns T if a result has no failures or errors"
+ (and (null (failures result)) (null (errors result))))
+
+
+;----------------------------------------------------------------------
+; methods add-error, add-failure
+;----------------------------------------------------------------------
+
+(defmethod add-error ((ob test-results) (tcase test-case) condition)
+ (push (make-test-failure tcase condition) (errors ob))
+ (mapc #'(lambda (single-listener)
+ (add-error single-listener tcase condition))
+ (listeners ob)))
+
+
+(defmethod add-failure ((ob test-results) (tcase test-case) condition)
+ (push (make-test-failure tcase condition) (failures ob))
+ (mapc #'(lambda (single-listener)
+ (add-failure single-listener tcase condition))
+ (listeners ob)))