emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/pacmacs 9614f394e7 106/472: Merge branch 'board-functions-


From: ELPA Syncer
Subject: [nongnu] elpa/pacmacs 9614f394e7 106/472: Merge branch 'board-functions-uts-75'. Close #75
Date: Thu, 6 Jan 2022 21:59:16 -0500 (EST)

branch: elpa/pacmacs
commit 9614f394e7abe71c338db3f8369cafc1c603605e
Merge: e3d914a1ea 5233bac0c5
Author: rexim <reximkut@gmail.com>
Commit: rexim <reximkut@gmail.com>

    Merge branch 'board-functions-uts-75'. Close #75
---
 pacmacs.el           | 24 +++++++----------
 test/pacmacs-test.el | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 86 insertions(+), 14 deletions(-)

diff --git a/pacmacs.el b/pacmacs.el
index 00bb02fa3d..e07687df1d 100644
--- a/pacmacs.el
+++ b/pacmacs.el
@@ -133,7 +133,7 @@
         :speed 0
         :speed-counter 0))
 
-(defun pacmacs-init-board (width height)
+(defun pacmacs--init-board (width height)
   (let ((board (make-vector height nil)))
     (dotimes (row height)
       (aset board row (make-vector width nil)))
@@ -172,10 +172,6 @@
   (aref (aref pacmacs-track-board (mod row pacmacs-board-height))
         (mod column pacmacs-board-width)))
 
-(defun pacmacs--within-of-map-p (row column)
-  (and (<= 0 row (1- pacmacs-board-height))
-       (<= 0 column (1- pacmacs-board-width))))
-
 (defun pacmacs--switch-direction (game-object direction)
   (plist-bind ((direction-animations :direction-animations))
       game-object
@@ -313,7 +309,7 @@
          (current-frame (plist-get (pacmacs-anim-get-frame anim) :frame)))
     (pacmacs-insert-image sprite-sheet current-frame)))
 
-(defun pacmacs-put-object (anim-object)
+(defun pacmacs--put-object (anim-object)
   (plist-bind ((row :row)
                (column :column))
       anim-object
@@ -349,16 +345,16 @@
                        pacmacs-board-height
                        (pacmacs--make-empty-cell))
 
-  (pacmacs-put-object pacmacs-player-state)
+  (pacmacs--put-object pacmacs-player-state)
 
   (dolist (pill pacmacs-pills)
-    (pacmacs-put-object pill))
+    (pacmacs--put-object pill))
 
   (dolist (ghost pacmacs-ghosts)
-    (pacmacs-put-object ghost))
+    (pacmacs--put-object ghost))
   
   (dolist (wall pacmacs-wall-cells)
-    (pacmacs-put-object wall))
+    (pacmacs--put-object wall))
 
   (dotimes (row pacmacs-board-height)
     (dotimes (column pacmacs-board-width)
@@ -394,10 +390,10 @@
     (setq pacmacs-board-width board-width)
     (setq pacmacs-board-height board-height)
 
-    (setq pacmacs-board (pacmacs-init-board pacmacs-board-width
-                                            pacmacs-board-height))
-    (setq pacmacs-track-board (pacmacs-init-board pacmacs-board-width
-                                                  pacmacs-board-height))
+    (setq pacmacs-board (pacmacs--init-board pacmacs-board-width
+                                             pacmacs-board-height))
+    (setq pacmacs-track-board (pacmacs--init-board pacmacs-board-width
+                                                   pacmacs-board-height))
 
     (setq pacmacs-wall-cells nil)
     (setq pacmacs-pills nil)
diff --git a/test/pacmacs-test.el b/test/pacmacs-test.el
new file mode 100644
index 0000000000..4e02b4299f
--- /dev/null
+++ b/test/pacmacs-test.el
@@ -0,0 +1,76 @@
+
+(ert-deftest pacmacs--fill-board-test ()
+  (let ((input-board [[nil nil]
+                      [nil nil]])
+        (expected-board [[5 5]
+                         [5 5]]))
+    (pacmacs--fill-board input-board 2 2 5)
+    (should (equal expected-board
+                   input-board))))
+
+
+(ert-deftest pacmacs--init-board-test ()
+  (let ((width 5)
+        (height 4)
+        (expected-board [[nil nil nil nil nil]
+                         [nil nil nil nil nil]
+                         [nil nil nil nil nil]
+                         [nil nil nil nil nil]]))
+    (should (equal expected-board
+                   (pacmacs--init-board width height)))))
+
+(ert-deftest pacmacs--object-at-p-test ()
+  (let ((pacmacs-board-width 5)
+        (pacmacs-board-height 4)
+        (objects (-map #'(lambda (x)
+                           (list :row x
+                                 :column x))
+                       (number-sequence 0 3))))
+    (should (pacmacs--object-at-p 0 0 objects))
+    (should (not (pacmacs--object-at-p 0 1 objects)))
+    (should (pacmacs--object-at-p 0 5 objects))
+    (should (not (pacmacs--object-at-p 1 5 objects)))))
+
+(ert-deftest pacmacs--cell-tracked-p-test ()
+  (let ((pacmacs-board-width 2)
+        (pacmacs-board-height 2)
+        (pacmacs-track-board [[nil nil]
+                              ['left 'right]]))
+    (should (not (pacmacs--cell-tracked-p 0 0)))
+    (should (pacmacs--cell-tracked-p 1 0))))
+
+(ert-deftest pacmacs--track-point-test ()
+  (let ((pacmacs-board-width 2)
+        (pacmacs-board-height 2)
+        (pacmacs-track-board [[nil nil]
+                              [nil nil]]))
+    (pacmacs--track-point (cons 0 0) (cons 0 1))
+    (should (equal [[right nil]
+                    [nil nil]]
+                   pacmacs-track-board))
+    (pacmacs--track-point (cons 1 0) (cons 1 -1))
+    (should (equal [[right nil]
+                    [left nil]]
+                   pacmacs-track-board))))
+
+(ert-deftest pacmacs--track-object-test ()
+  (let ((pacmacs-board-width 2)
+        (pacmacs-board-height 2)
+        (pacmacs-track-board [[right down]
+                              [up left]])
+        (game-object (list :row 0
+                           :column 0)))
+    (with-mock
+     (mock (pacmacs--switch-direction (list :row 0 :column 0) 'right) :times 1)
+     (pacmacs--track-object game-object))))
+
+(ert-deftest pacmacs--put-object-test ()
+  (let ((pacmacs-board-width 2)
+        (pacmacs-board-height 2)
+        (pacmacs-board [[nil nil]
+                        [nil nil]])
+        (anim-object (list :row 0 :column 1)))
+    (pacmacs--put-object anim-object)
+    (should (equal [[nil (:row 0 :column 1)]
+                    [nil nil]]
+                   pacmacs-board))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]