aboutsummaryrefslogtreecommitdiff
path: root/tests/ai-test.scm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ai-test.scm')
-rw-r--r--tests/ai-test.scm48
1 files changed, 0 insertions, 48 deletions
diff --git a/tests/ai-test.scm b/tests/ai-test.scm
deleted file mode 100644
index 02a9806..0000000
--- a/tests/ai-test.scm
+++ /dev/null
@@ -1,48 +0,0 @@
-;; Mock entity module for testing
-(module downstroke-entity *
- (import scheme (chicken base) (chicken keyword))
- (define (entity-ref entity key #!optional default)
- (get-keyword key entity (if (procedure? default) default (lambda () default))))
- (define (entity-set entity key val)
- (cons key (cons val (let loop ((lst entity))
- (if (null? lst) '()
- (if (eq? (car lst) key)
- (cddr lst)
- (cons (car lst) (cons (cadr lst) (loop (cddr lst))))))))))
- (define (entity-type e) (entity-ref e #:type #f)))
-
-;; Mock world module for testing
-(module downstroke-world *
- (import scheme (chicken base))
- (define (scene-entities s) s)
- (define (scene-find-tagged scene tag) #f))
-
-(import (srfi 64)
- states
- downstroke-entity
- downstroke-world)
-
-(include "ai.scm")
-(import downstroke-ai)
-
-(test-begin "ai")
-
-(test-group "find-player (tag-based)"
- (let* ((player (list #:type 'player #:x 100 #:y 100 #:width 16 #:height 16
- #:tags '(player)))
- (enemy (list #:type 'enemy #:x 200 #:y 100 #:width 16 #:height 16
- #:tags '(enemy)))
- (entities (list enemy player)))
- (test-equal "finds player by tags" player (find-player entities))
- (test-equal "returns #f with no player" #f (find-player (list enemy)))))
-
-(test-group "update-enemy-ai"
- (let* ((entity (list #:type 'enemy #:x 0 #:y 0 #:width 16 #:height 16
- #:disabled #t)))
- (test-equal "returns entity unchanged when disabled" entity
- (update-enemy-ai entity '())))
- (let* ((entity (list #:type 'enemy #:x 0 #:y 0 #:width 16 #:height 16)))
- (test-equal "returns entity unchanged when no ai-machine" entity
- (update-enemy-ai entity '()))))
-
-(test-end "ai")