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.lisp | |
| parent | 00a46570d36720ab0ac4b6081b62ca96895a0acc (diff) | |
| download | transacc-8104b4db1c5752b777d17e1f84f8a575587c735f.tar.gz | |
split tests for better readability
Diffstat (limited to 'tests/test.lisp')
| -rw-r--r-- | tests/test.lisp | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/tests/test.lisp b/tests/test.lisp index 85f5f5d..fb37c94 100644 --- a/tests/test.lisp +++ b/tests/test.lisp @@ -6,141 +6,3 @@ (def-suite transacc-suite :description "Test transacc") - - -;;; TESTING COMMODITIES -(def-suite* commodities-suite - :description "Test object and methods for commodities" - :in transacc-suite) - -;; we make sure creating a commodity returns one -(test commodity-creation - (let ((c1 (commodities:new-commodity "apple" 1)) - (c2 (commodities:new-commodity "pear" 4)) - (c3 (commodities:new-commodity "petrol" -3)) - (c4 (commodities:new-commodity "void" 0))) - (is (equal (type-of c1) 'commodities::commodity)) - (is (equal (type-of c2) 'commodities::commodity)) - (is (eq c3 nil)) - (is (eq c4 nil)))) - -;; we make sure a commodity created with given values -;; in fact contains said values -(test commodity-values - (let ((c (commodities:new-commodity "car" 10000))) - (is (equal (commodities:name c) "car")) - (is (= (commodities:price c) 10000)))) - - -;;; TESTING INVENTORY -(def-suite* inventory-suite - :description "Test object and methods for inventory" - :in transacc-suite) - -;; test for creation of inventories -(test inventory-creation - (let ((i1 (inventory:new-inventory 100)) - (i2 (inventory:new-inventory 25)) - (i3 (inventory:new-inventory -100)) - (i4 (inventory:new-inventory 0))) - (is (eq (type-of i1) 'inventory::inventory)) - (is (eq (type-of i2) 'inventory::inventory)) - (is (eq i3 nil)) - (is (eq i4 nil)))) - -;; test for init values -(test inventory-init-values - (let ((i (inventory:new-inventory 100))) - (is (= (inventory::size i) 100)) - (is (= (inventory:filled i) 0)) - (is (eq (inventory::items i) nil)))) - -;; test add and substract -(test inventory-add-and-substract - (let ((i (inventory:new-inventory 100)) - (c (commodities:new-commodity "apple" 1)) - (c2 (commodities:new-commodity "apple" 99))) - ;; add 10 - (is (= (inventory:add-item i c 10) 10)) - (is (= (inventory:filled i) 10)) - ;; remove 4 - (is (equal (inventory:remove-item i "apple" 4) - (cons c 4))) - (is (= (inventory:filled i) 6)) - (is (equal (inventory::find-item i "apple") - (cons c 6))) - ;; adding 90 - (is (= (inventory:add-item i c 90) 96)) - ;; adding one too many - (is (not (inventory:add-item i c 5))) - (is (= (inventory::filled i) 96)) - (is (and - (commodities:commodity-eq - c - (car (inventory::find-item i "apple"))) - (= 96 (cdr (inventory::find-item i "apple"))))) - ;; test for adding differently priced same item - (is (= 1 - (commodities:price - (car (inventory::find-item i "apple"))))) - (inventory:remove-item i "apple" 46) - (is (= 100 - (inventory:add-item i c2 50))) - (is (= 50 - (commodities:price - (car (inventory::find-item i "apple"))))))) - - -;;; 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))))) |
