aboutsummaryrefslogtreecommitdiff
path: root/tests/assets-test.scm
blob: c7b26f0fe48ffcb58f5ec787ddd5993e3fb29cd3 (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
(import srfi-64)

(include "assets.scm")
(import downstroke-assets)

(test-begin "assets")

(test-group "make-asset-registry"
  (test-assert "returns a value"
    (make-asset-registry)))

(test-group "asset-set! and asset-ref"
  (let ((reg (make-asset-registry)))
    (test-equal "missing key returns #f"
      #f
      (asset-ref reg 'missing))

    (asset-set! reg 'my-tilemap "data")
    (test-equal "stored value is retrievable"
      "data"
      (asset-ref reg 'my-tilemap))

    (asset-set! reg 'my-tilemap "updated")
    (test-equal "overwrite replaces value"
      "updated"
      (asset-ref reg 'my-tilemap))

    (asset-set! reg 'other 42)
    (test-equal "multiple keys coexist"
      "updated"
      (asset-ref reg 'my-tilemap))
    (test-equal "second key retrievable"
      42
      (asset-ref reg 'other))))

(test-end "assets")