summaryrefslogtreecommitdiffstats
path: root/tests/test.lisp
diff options
context:
space:
mode:
authorEl-BG-1970 <elouangros@hotmail.com>2022-08-01 21:12:47 +0200
committerEl-BG-1970 <elouangros@hotmail.com>2022-08-01 21:12:47 +0200
commit8104b4db1c5752b777d17e1f84f8a575587c735f (patch)
tree08277694d39fb486ceed520ebd9c2811a9beca73 /tests/test.lisp
parent00a46570d36720ab0ac4b6081b62ca96895a0acc (diff)
downloadtransacc-8104b4db1c5752b777d17e1f84f8a575587c735f.tar.gz
split tests for better readability
Diffstat (limited to 'tests/test.lisp')
-rw-r--r--tests/test.lisp138
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)))))