The requirements of gilded rose can be found here: https://github.com/emilybache/GildedRose-Refactoring-Kata/blob/main/GildedRoseRequirements.txt
To run this project install quicklisp (if not already done):
- download https://beta.quicklisp.org/quicklisp.lisp
- load it with your common lisp implementation. The example with sbcl:
sbcl --load quicklisp.lisp
- run the command
(quicklisp-quickstart:install) in your common lisp implementation
- run the command
(ql:add-to-init-file) in your common lisp implementation
Copy the project-folder containing this file into /quicklisp/local-projects/ that has been created when installing quicklisp. This is the root directory for quicklisp to search for the gilded-rose.asd file which defines the system (project) and its dependencies. The quicklisp-folder is usually created in your home-directory.
Now you can load the project with
(ql:quickload "gilded-rose") in the common lisp implementation of your choice and run the tests with (asdf:test-system "gilded-rose") .
If you just want to run the tests
(asdf:test-system "gilded-rose") is sufficient.
You can mock functions and methods with the cl-mock-library which is already included in the system definition of the test-system:
(with-mocks () (answer (call-previous)) ( ) (is (invocations ')))
If you just want to stub functions you can replace (call-previous) with a return value of your choice and your test does not depend on (invocations ')
If you don't want to work with the unit-tests you can test your program with the texttest-fixture. After loading the project in the common lisp implementation of your choice with
(ql:quickload "gilded-rose") you can run the texttest-fixture with (gilded-rose::run-gilded-rose ) where is the number of days you want to simulate.