(return-from ,block-name nil)))))
(defmacro finishes (&body body)
- "Generates a pass if BODY executes to normal completion.
+ "Generates a pass if BODY executes to normal completion.
In other words if body signals a condition (which is then handled),
return-froms or throws this test fails."
:documentation "The list of AND, OR, NOT forms specifying when to run this test.")
(status :initarg :status :accessor status :initform :unknown
:documentation "A symbol specifying the current status
- of this test. Either: T - this test (and all its
- dependencies, have passed. NIL - this test
- failed (either it failed or its dependecies weren't
- met. :circular this test has a circular dependency
- and was skipped. Or :depends-not-satisfied or :resolving")
+ of this test. Either: T - this test (and all its
+ dependencies, have passed. NIL - this test
+ failed (either it failed or its dependecies weren't
+ met. :circular this test has a circular dependency
+ and was skipped. Or :depends-not-satisfied or :resolving")
(profiling-info :accessor profiling-info
:initform nil
:documentation "An object representing how
(defclass test-suite (testable-object)
((tests :accessor tests :initform (make-hash-table :test 'eql)
:documentation "The hash table mapping names to test
- objects in this suite. The values in this hash table
- can be either test-cases or other test-suites.")
+ objects in this suite. The values in this hash table
+ can be either test-cases or other test-suites.")
(fixture :accessor fixture :initform nil :initarg :fixture
:documentation "FIXTURE to use, by default, for tests in
this suite."))
to destructuring-bind. GUARD is a form which, if present, stops BODY
from executing when it returns NIL. The GUARDS are evaluated after all
the random data has been generated and they can refer to the current
-value of any binding.
+value of any binding.
+
-[NOTE]
+\[NOTE]
Generator forms, unlike guard forms, can not contain references to the
bound variables.
(long-float most-positive-long-float)) )
(defun gen-float (&key bound (type 'short-float) min max)
- "Returns a generator which producs floats of type TYPE.
+ "Returns a generator which producs floats of type TYPE.
BOUND::
The type of the returned float. Defaults to `SHORT-FLOAT`. Effects the
default values of BOUND, MIN and MAX.
-[NOTE]
+\[NOTE]
Since GEN-FLOAT is built on CL:RANDOM the distribution of returned
values will be continuous, not discrete. In other words: the values
will be evenly distributed across the specified numeric range, the
The type of array to create.
-ELEMENTS::
+ELEMENTS::
The random element generator.
"
padding: 0px; margin: 0px;
}
-.qbook { width: 600px; background-color: #FFFFFF; margin: 0px;
+.qbook { width: 600px; background-color: #FFFFFF; margin: 0px;
border-left: 3em solid #660000; padding: 3px; }
h1 { text-align: center; margin: 0px;
- color: #333333;
- border-bottom: 0.3em solid #660000;
+ color: #333333;
+ border-bottom: 0.3em solid #660000;
}
p { padding-left: 1em; }
h3 { border-bottom: 0.1em solid #000000; }
pre.code {
- background-color: #eeeeee;
- border: solid 1px #d0d0d0;
+ background-color: #eeeeee;
+ border: solid 1px #d0d0d0;
overflow: auto;
}
-pre.code * .paren { color: #666666; }
+pre.code * .paren { color: #666666; }
pre.code a:active { color: #000000; }
pre.code a:link { color: #000000; }
The symbol naming the test.
DESCRIPTION::
- A string describing the contents/purpose of this suite.
+ A string describing the contents/purpose of this suite.
IN (a symbol), if provided, causes this suite te be nested in the
suite named by `IN`. If `IN` is `NIL`, as opposed to not being passed
at all, the new suite will not be a part of any existing suite.
-[NOTE]
+\[NOTE]
This macro is built on top of `make-suite` as such it, like `make-suite`,
will overrwrite any existing suite named `NAME`.