diff options
Diffstat (limited to 'tests/engine-test.scm')
| -rw-r--r-- | tests/engine-test.scm | 69 |
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) |
