aboutsummaryrefslogtreecommitdiff
path: root/tests/engine-test.scm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/engine-test.scm')
-rw-r--r--tests/engine-test.scm69
1 files changed, 35 insertions, 34 deletions
diff --git a/tests/engine-test.scm b/tests/engine-test.scm
index aa44964..40a02ad 100644
--- a/tests/engine-test.scm
+++ b/tests/engine-test.scm
@@ -1,4 +1,4 @@
-(import scheme (chicken base) (chicken keyword) srfi-64 defstruct (srfi 69))
+(import scheme (chicken base) (chicken keyword) test defstruct (srfi 69))
;; --- Mocks ---
@@ -149,61 +149,61 @@
(test-group "make-game defaults"
(let ((g (make-game)))
- (test-equal "default title"
+ (test "default title"
"Downstroke Game"
(game-title g))
- (test-equal "default width"
+ (test "default width"
640
(game-width g))
- (test-equal "default height"
+ (test "default height"
480
(game-height g))
- (test-equal "default frame-delay"
+ (test "default frame-delay"
16
(game-frame-delay g))
- (test-equal "scene starts as #f"
+ (test "scene starts as #f"
#f
(game-scene g))
- (test-equal "window starts as #f"
+ (test "window starts as #f"
#f
(game-window g))
- (test-equal "renderer starts as #f"
+ (test "renderer starts as #f"
#f
(game-renderer g))
(test-assert "assets registry is created"
(game-assets g))
(test-assert "input state is created"
(game-input g))
- (test-equal "debug? defaults to #f"
+ (test "debug? defaults to #f"
#f
(game-debug? g))
- (test-equal "scale defaults to 1"
+ (test "scale defaults to 1"
1
(game-scale g))))
(test-group "make-game with keyword args"
(let ((g (make-game title: "My Game" width: 320 height: 240 frame-delay: 33)))
- (test-equal "custom title" "My Game" (game-title g))
- (test-equal "custom width" 320 (game-width g))
- (test-equal "custom height" 240 (game-height g))
- (test-equal "custom frame-delay" 33 (game-frame-delay g))))
+ (test "custom title" "My Game" (game-title g))
+ (test "custom width" 320 (game-width g))
+ (test "custom height" 240 (game-height g))
+ (test "custom frame-delay" 33 (game-frame-delay g))))
(test-group "make-game debug? keyword"
- (test-equal "debug? defaults to #f"
+ (test "debug? defaults to #f"
#f
(game-debug? (make-game)))
- (test-equal "debug? can be set to #t"
+ (test "debug? can be set to #t"
#t
(game-debug? (make-game debug?: #t))))
(test-group "make-game scale keyword"
- (test-equal "scale defaults to 1"
+ (test "scale defaults to 1"
1
(game-scale (make-game)))
- (test-equal "scale can be set to 2"
+ (test "scale can be set to 2"
2
(game-scale (make-game scale: 2)))
- (test-equal "scale can be set to 3"
+ (test "scale can be set to 3"
3
(game-scale (make-game scale: 3)))
(import (chicken condition))
@@ -222,24 +222,24 @@
(test-group "game-asset and game-asset-set!"
(let ((g (make-game)))
- (test-equal "missing key returns #f"
+ (test "missing key returns #f"
#f
(game-asset g 'no-such-asset))
(game-asset-set! g 'my-font 'font-object)
- (test-equal "stored asset is retrievable"
+ (test "stored asset is retrievable"
'font-object
(game-asset g 'my-font))
(game-asset-set! g 'my-font 'updated-font)
- (test-equal "overwrite replaces asset"
+ (test "overwrite replaces asset"
'updated-font
(game-asset g 'my-font))))
(test-group "make-game hooks default to #f"
(let ((g (make-game)))
- (test-equal "preload-hook is #f" #f (game-preload-hook g))
- (test-equal "create-hook is #f" #f (game-create-hook g))
- (test-equal "update-hook is #f" #f (game-update-hook g))
- (test-equal "render-hook is #f" #f (game-render-hook g))))
+ (test "preload-hook is #f" #f (game-preload-hook g))
+ (test "create-hook is #f" #f (game-create-hook g))
+ (test "update-hook is #f" #f (game-update-hook g))
+ (test "render-hook is #f" #f (game-render-hook g))))
(test-group "make-game accepts hook lambdas"
(let* ((called #f)
@@ -258,7 +258,7 @@
background: #f))
(g (make-game)))
(game-scene-set! g scene)
- (test-equal "returns scene camera"
+ (test "returns scene camera"
cam
(game-camera g))))
@@ -270,8 +270,8 @@
(test-assert "state has update hook" (state-hook s #:update))
(test-assert "state has render hook" (state-hook s #:render)))
(let ((s (make-game-state)))
- (test-equal "default state hooks are #f" #f (state-hook s #:create))
- (test-equal "default state update is #f" #f (state-hook s #:update))))
+ (test "default state hooks are #f" #f (state-hook s #:create))
+ (test "default state update is #f" #f (state-hook s #:update))))
(test-group "game-add-state! and game-start-state!"
(let* ((created? #f)
@@ -279,18 +279,18 @@
(state (make-game-state
create: (lambda (g) (set! created? #t)))))
(game-add-state! game 'play state)
- (test-equal "active-state defaults to #f" #f (game-active-state game))
+ (test "active-state defaults to #f" #f (game-active-state game))
(game-start-state! game 'play)
- (test-equal "active-state set after start" 'play (game-active-state game))
+ (test "active-state set after start" 'play (game-active-state game))
(test-assert "create hook called on start" created?)))
(test-group "game states defaults"
(let ((game (make-game)))
(test-assert "states is a hash-table" (hash-table? (game-states game)))
- (test-equal "active-state defaults to #f" #f (game-active-state game))))
+ (test "active-state defaults to #f" #f (game-active-state game))))
(test-group "scene engine-update"
- (test-equal "scene engine-update defaults to #f"
+ (test "scene engine-update defaults to #f"
#f
(scene-engine-update (make-scene entities: '() tilemap: #f camera-target: #f)))
(let* ((my-eu (lambda (game dt) #t))
@@ -298,8 +298,9 @@
(test-assert "custom engine-update stored on scene"
(procedure? (scene-engine-update s))))
(let ((s (make-scene entities: '() tilemap: #f camera-target: #f engine-update: 'none)))
- (test-equal "engine-update: 'none disables pipeline"
+ (test "engine-update: 'none disables pipeline"
'none
(scene-engine-update s))))
(test-end "engine")
+(test-exit)