Sha256: dc8ce34d5278a1288c2760d8b0499f5edd21581bdf446444cb89cc30bd3cc488

Contents?: true

Size: 1.77 KB

Versions: 343

Compression:

Stored size: 1.77 KB

Contents

(ql:quickload "lisp-unit")
#-xlisp-test (load "allergies")

(defpackage #:allergies-test
  (:use #:common-lisp #:lisp-unit))

(in-package #:allergies-test)

(define-test no-allergies-at-all
  (assert-equalp '() (allergies:list 0)))

(define-test allergic-to-just-eggs
  (assert-equalp '("eggs") (allergies:list 1)))

(define-test allergic-to-just-peanuts
  (assert-equalp '("peanuts") (allergies:list 2)))

(define-test allergic-to-just-strawberries
  (assert-equalp '("strawberries") (allergies:list 8)))

(define-test allergic-to-eggs-and-peanuts
  (assert-equalp '("eggs" "peanuts") (allergies:list 3)))

(define-test allergic-to-more-than-eggs-but-not-peanuts
  (assert-equalp '("eggs" "shellfish") (allergies:list 5)))

(define-test allergic-to-lots-of-stuff
  (assert-equalp
   '("strawberries" "tomatoes" "chocolate" "pollen" "cats")
   (allergies:list 248)))

(define-test allergic-to-everything
  (assert-equalp
   '("eggs" "peanuts" "shellfish" "strawberries" "tomatoes"
     "chocolate" "pollen" "cats")
   (allergies:list 255)))

(define-test no-allergies-means-not-allergic
  (assert-false (allergies:allergic-to-p 0 "peanuts"))
  (assert-false (allergies:allergic-to-p 0 "cats"))
  (assert-false (allergies:allergic-to-p 0 "strawberries")))

(define-test is-allergic-to-eggs
  (assert-true (allergies:allergic-to-p 1 "eggs")))

(define-test allergic-to-eggs-in-addition-to-other-stuff
  (assert-true (allergies:allergic-to-p 5 "eggs")))

(define-test case-insensitive
  (assert-true (allergies:allergic-to-p 1 "EGGS")))

(define-test ignore-non-allergen-score-parts
  (assert-equalp
   '("eggs" "shellfish" "strawberries" "tomatoes" "chocolate" "pollen"
     "cats")
   (allergies:list 509)))

#-xlisp-test
(let ((*print-errors* t)
      (*print-failures* t))
  (run-tests :all :allergies-test))

Version data entries

343 entries across 343 versions & 1 rubygems

Version Path
trackler-2.2.1.159 tracks/common-lisp/exercises/allergies/allergies-test.lisp
trackler-2.2.1.158 tracks/common-lisp/exercises/allergies/allergies-test.lisp
trackler-2.2.1.157 tracks/common-lisp/exercises/allergies/allergies-test.lisp
trackler-2.2.1.156 tracks/common-lisp/exercises/allergies/allergies-test.lisp
trackler-2.2.1.155 tracks/common-lisp/exercises/allergies/allergies-test.lisp
trackler-2.2.1.154 tracks/common-lisp/exercises/allergies/allergies-test.lisp
trackler-2.2.1.153 tracks/common-lisp/exercises/allergies/allergies-test.lisp
trackler-2.2.1.152 tracks/common-lisp/exercises/allergies/allergies-test.lisp
trackler-2.2.1.151 tracks/common-lisp/exercises/allergies/allergies-test.lisp
trackler-2.2.1.150 tracks/common-lisp/exercises/allergies/allergies-test.lisp
trackler-2.2.1.149 tracks/common-lisp/exercises/allergies/allergies-test.lisp
trackler-2.2.1.148 tracks/common-lisp/exercises/allergies/allergies-test.lisp
trackler-2.2.1.147 tracks/common-lisp/exercises/allergies/allergies-test.lisp
trackler-2.2.1.146 tracks/common-lisp/exercises/allergies/allergies-test.lisp
trackler-2.2.1.145 tracks/common-lisp/exercises/allergies/allergies-test.lisp
trackler-2.2.1.144 tracks/common-lisp/exercises/allergies/allergies-test.lisp
trackler-2.2.1.143 tracks/common-lisp/exercises/allergies/allergies-test.lisp
trackler-2.2.1.142 tracks/common-lisp/exercises/allergies/allergies-test.lisp
trackler-2.2.1.141 tracks/common-lisp/exercises/allergies/allergies-test.lisp
trackler-2.2.1.140 tracks/common-lisp/exercises/allergies/allergies-test.lisp