[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))))
- [nongnu] elpa/pacmacs 420c485197 054/472: Implement pacman mechanics. Close #32, (continued)
- [nongnu] elpa/pacmacs 420c485197 054/472: Implement pacman mechanics. Close #32, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs c20aa8089c 058/472: Implement plist-bind macro. Close #47, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 07e18ca1e6 067/472: Implement pills. Close #34, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs ef0cd69d99 072/472: Add copyright header to pacman-utils module, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 66f585899a 080/472: Fix pacman image UTs, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs f7b17f7cde 079/472: Set same background as foreground for color block. Close #59, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 28fc537f40 084/472: Multiple ghost support. Close #64, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs d637985f0b 095/472: Fix BFS wraparound bug. Close #73, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 952801d94a 098/472: UT for pacmacs--fill-board-test (#75), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 428b994240 096/472: Remove debug output stuff, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 9614f394e7 106/472: Merge branch 'board-functions-uts-75'. Close #75,
ELPA Syncer <=
- [nongnu] elpa/pacmacs 1e29c2f943 101/472: UTs for pacmacs--cell-tracked-p (#75), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 0839611f42 108/472: Refactor out pacmacs--make-board function (#74), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 8aa9d50dda 102/472: Remove pacmacs--within-of-map-p (#75), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 7714743aa8 103/472: UTs for pacmacs--track-point (#75), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 2c0bcf993f 107/472: Use two-argumented `<=`. Close #76, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs e5bd77740d 119/472: Fix NPEs (#74), ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 286eb99ae0 130/472: Implement prepare phase. Close #80, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs d14cdd38e3 135/472: Fix last eaten pill visibility. Close #96, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 9cb186f10a 137/472: Refactor pacmacs-inversed-direction-table out. Close #103, ELPA Syncer, 2022/01/06
- [nongnu] elpa/pacmacs 91c317819c 123/472: Implement basic death mechanics (#69), ELPA Syncer, 2022/01/06