Kata setup with one failing test

This commit is contained in:
mgd 2024-10-06 21:54:44 +01:00 committed by Peter Kofler
parent 478bfae574
commit e4c646ce32
2 changed files with 5 additions and 68 deletions

View File

@ -1,68 +1,9 @@
(require 'ert)
(require 'gilded-rose)
(ert-deftest test-aged-brie-increases-quality ()
"Test that Aged Brie increases in quality."
(let ((item (make-item "Aged Brie" 2 0)))
(update-quality item)
(should (= (item-quality item) 1))))
(ert-deftest check-name-of-item ()
"Test that item is called sweets. This test should fail!"
(let ((sweets (make-item "sweets" 5 5)))
(should (string= (item-name sweets) "You should change this"))))
(ert-deftest test-aged-brie-max-quality ()
"Test that Aged Brie does not exceed max quality."
(let ((item (make-item "Aged Brie" 2 50)))
(update-quality item)
(should (= (item-quality item) 50))))
(ert-deftest test-backstage-passes-increases-quality ()
"Test that Backstage passes increase in quality."
(let ((item (make-item "Backstage passes" 15 20)))
(update-quality item)
(should (= (item-quality item) 20))))
(ert-deftest test-backstage-passes-quality-increases-by-2 ()
"Test that Backstage passes increase by 2 when sell-in is 10 or less."
(let ((item (make-item "Backstage passes" 10 20)))
(update-quality item)
(should (= (item-quality item) 22))))
(ert-deftest test-backstage-passes-quality-increases-by-3 ()
"Test that Backstage passes increase by 3 when sell-in is 5 or less."
(let ((item (make-item "Backstage passes" 5 20)))
(update-quality item)
(should (= (item-quality item) 23))))
(ert-deftest test-backstage-passes-quality-drops-to-0 ()
"Test that Backstage passes drop to 0 after sell-in date."
(let ((item (make-item "Backstage passes" 0 20)))
(update-quality item)
(should (= (item-quality item) 0))))
(ert-deftest test-normal-item-decreases-quality ()
"Test that normal items decrease in quality."
(let ((item (make-item "Normal Item" 5 10)))
(update-quality item)
(should (= (item-quality item) 9))))
(ert-deftest test-normal-item-quality-decreases-twice-after-sell-in ()
"Test that normal items decrease in quality by 2 after sell-in date."
(let ((item (make-item "Normal Item" 0 10)))
(update-quality item)
(should (= (item-quality item) 8))))
(ert-deftest test-sulfuras-quality-unchanged ()
"Test that Sulfuras quality remains unchanged."
(let ((item (make-item "Sulfuras" 0 80)))
(update-quality item)
(should (= (item-quality item) 80))))
(ert-deftest test-normal-item-quality-never-negative ()
"Test that normal items' quality never goes negative."
(let ((item (make-item "Normal Item" 0 0)))
(update-quality item)
(should (= (item-quality item) 0))))
(ert-deftest simple-test ()
(should (= 1 1)))
;; Run the tests
(ert-run-tests-interactively t)

View File

@ -33,10 +33,6 @@
;; Sulfuras
((string= (item-name item) "Sulfuras")
(setf (nth 2 item) quality)) ;; Sulfuras never changes
(setf (nth 2 item) quality))
(defvar fork (make-item "fork" 10 10))
(update-quality fork)
(item-quality fork)
(provide 'gilded-rose)