blob: f2136d63bffad2bfc540a81b2801bb6d6dc45c35 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
(in-package :cl-user)
(defpackage transacc-tests
(:use :cl
:fiveam))
(in-package :transacc-tests)
(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" 2)))
(inventory:add-item i c 10)
(is (= (inventory:filled i) 10))
(is (equal (inventory:remove-item i "apple" 4)
(cons c 4)))))
;; creating inventory adding
|