diff options
| author | El-BG-1970 <elouangros@hotmail.com> | 2022-08-01 21:12:47 +0200 |
|---|---|---|
| committer | El-BG-1970 <elouangros@hotmail.com> | 2022-08-01 21:12:47 +0200 |
| commit | 8104b4db1c5752b777d17e1f84f8a575587c735f (patch) | |
| tree | 08277694d39fb486ceed520ebd9c2811a9beca73 /tests/test-player.lisp | |
| parent | 00a46570d36720ab0ac4b6081b62ca96895a0acc (diff) | |
| download | transacc-8104b4db1c5752b777d17e1f84f8a575587c735f.tar.gz | |
split tests for better readability
Diffstat (limited to 'tests/test-player.lisp')
| -rw-r--r-- | tests/test-player.lisp | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/tests/test-player.lisp b/tests/test-player.lisp new file mode 100644 index 0000000..2f261d7 --- /dev/null +++ b/tests/test-player.lisp @@ -0,0 +1,55 @@ +(in-package :transacc-tests) + +;;; Player tests +(def-suite* player-suite + :description "Test object and methods for player" + :in transacc-suite) + +;; testing buy-item +(test creating-player + (let ((p (player:init-player "Joze")) + (p2 (player:init-player "Mehmout" 555 8976))) + (is (eql (type-of p) 'player::player)) + (is (equal (player:name p) "Joze")) + (is (= (player:get-cash p) 2000)) + (is (= (player:get-debt p) 5000)) + (is (eql (type-of p2) 'player::player)) + (is (equal (player:name p2) "Mehmout")) + (is (= (player:get-cash p2) 555)) + (is (= (player:get-debt p2) 8976)))) + +(test repay-debt + (let ((p (player::init-player "Joze")) + (p2 (player::init-player "Mehmout"))) + (is (player::repay-debt p 1000)) + (is (player::repay-debt p 1000)) + (is (not (player::repay-debt p2 3000))))) + +(test buy-item + (let ((p (player:init-player "Joze")) + (c (commodities:new-commodity "apple" 5)) + (c2 (commodities:new-commodity "apple" 11)) + (truck (commodities:new-commodity "truck" 100000))) + (is (player:buy-item p c 10)) + (is (= 1950 (player:get-cash p))) + (is (not (player:buy-item p truck 1))) + (is (= 10 + (inventory:filled (player::stock p)))) + (is (player:buy-item p c2 10)) + (is (= 1840 (player:get-cash p))) + (is (= 20 + (inventory:filled (player::stock p)))))) + +(test sell-item + (let ((p (player:init-player "Joze")) + (c (commodities:new-commodity "apple" 5)) + (c2 (commodities:new-commodity "apple" 11)) + (c3 (commodities:new-commodity "apple" 8)) + (k (commodities:new-commodity "car" 10000))) + (is (player:buy-item p c 10)) + (is (= 1950 (player:get-cash p))) + (is (player:buy-item p c2 10)) + (is (= 1840 (player:get-cash p))) + (is (player:sell-item p c3 10)) + (is (= 1920 (player:get-cash p))) + (is (not (player:sell-item p k 1))))) |
