Use lowercase-only characters for package names to fix compilation on Allegro
[fiveam.git] / t / example.lisp
index b831aec..be9e113 100644 (file)
@@ -1,14 +1,16 @@
-;;;; -*- lisp -*-
+;; -*- lisp -*-
 
-(asdf:oos 'asdf:load-op :FiveAM)
+;;;; * FiveAM Example (poor man's tutorial)
 
-(defpackage :it.bese.FiveAM.example
+(asdf:oos 'asdf:load-op :fiveam)
+
+(defpackage :it.bese.fiveam.example
   (:use :common-lisp
-       :it.bese.FiveAM))
+       :it.bese.fiveam))
 
-(in-package :it.bese.FiveAM.example)
+(in-package :it.bese.fiveam.example)
 
-;;; First we need some functions to test.
+;;;; First we need some functions to test.
 
 (defun add-2 (n)
   (+ n 2))
 (defun add-4 (n) 
   (+ n 4))
 
-;;; Now we need to create a test which makes sure that add-2 and add-4
-;;; work as specified.
+;;;; Now we need to create a test which makes sure that add-2 and add-4
+;;;; work as specified.
 
-;; we create a test named ADD-2 and supply a short description.
+;;;; we create a test named ADD-2 and supply a short description.
 (test add-2
  "Test the ADD-2 function" ;; a short description
  ;; the checks
  (is (= 2 (add-2 0)))
  (is (= 0 (add-2 -2))))
 
-;; we can already run add-2. This will return the list of test
-;; results, it should be a list of two test-passed objects.
+;;;; we can already run add-2. This will return the list of test
+;;;; results, it should be a list of two test-passed objects.
 
 (run 'add-2) 
 
-;; since we'd like to have some kind of readbale output we'll explain
-;; the results
+;;;; since we'd like to have some kind of readbale output we'll explain
+;;;; the results
 
-(explain *)
+(explain! (run 'add-2))
 
-;; or we could do both at once:
+;;;; or we could do both at once:
 
 (run! 'add-2)
 
-;;; So now we've defined and run a single test. Since we plan on
-;;; having more than one test and we'd like to run them together let's
-;;; create a simple test suite.
+;;;; So now we've defined and run a single test. Since we plan on
+;;;; having more than one test and we'd like to run them together let's
+;;;; create a simple test suite.
 
 (def-suite example-suite :description "The example test suite.")
 
-;; we could explictly specify that every test we create is in the the
-;; example-suite suite, but it's easier to just change the default
-;; suite:
+;;;; we could explictly specify that every test we create is in the the
+;;;; example-suite suite, but it's easier to just change the default
+;;;; suite:
 
 (in-suite example-suite)
 
-;; now we'll create a new test for the add-4 function.
+;;;; now we'll create a new test for the add-4 function.
 
 (test add-4
   (is (= 0 (add-4 -4))))
 
-;; now let's run the test
+;;;; now let's run the test
 
 (run! 'add-4)
 
-;; we can get the same effect by running the suite:
+;;;; we can get the same effect by running the suite:
 
 (run! 'example-suite)
 
-;; since we'd like both add-2 and add-4 to be in the same suite, let's
-;; redefine add-2 to be in this suite:
+;;;; since we'd like both add-2 and add-4 to be in the same suite, let's
+;;;; redefine add-2 to be in this suite:
 
 (test add-2 "Test the ADD-2 function"
  (is (= 2 (add-2 0)))
  (is (= 0 (add-2 -2))))
 
-;; now we can run the suite and we'll see that both add-2 and add-4
-;; have been run (we know this since we no get 4 checks as opposed to
-;; 2 as before.
+;;;; now we can run the suite and we'll see that both add-2 and add-4
+;;;; have been run (we know this since we no get 4 checks as opposed to
+;;;; 2 as before.
 
 (run! 'example-suite)
 
-;; Just for fun let's see what happens when a test fails. Again we'll
-;; redefine add-2, but add in a third, failing, check:
+;;;; Just for fun let's see what happens when a test fails. Again we'll
+;;;; redefine add-2, but add in a third, failing, check:
 
 (test add-2 "Test the ADD-2 function"
  (is (= 2 (add-2 0)))
  (is (= 0 (add-2 -2)))
  (is (= 0 (add-2 0))))
 
-;; Finally let's try out the specification based testing.
+;;;; Finally let's try out the specification based testing.
 
 (defun dummy-add (a b)
   (+ a b))
     (is (plusp result))
     (is (= result 0))))
 
-(test fail-guard-conditions
-  (for-all ((x (gen-integer :min 1 :max 1) (= x 0)))
-    (pass)))
+(run! 'example-suite)