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

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

[nongnu] elpa/pacmacs 1a678dfee7 110/472: Refactor out pacmacs--object-a


From: ELPA Syncer
Subject: [nongnu] elpa/pacmacs 1a678dfee7 110/472: Refactor out pacmacs--object-at-p (#74)
Date: Thu, 6 Jan 2022 21:59:17 -0500 (EST)

branch: elpa/pacmacs
commit 1a678dfee71aa64cb07ca689012d7e88b8f35696
Author: rexim <reximkut@gmail.com>
Commit: rexim <reximkut@gmail.com>

    Refactor out pacmacs--object-at-p (#74)
---
 pacmacs-board.el           | 14 ++++++++++++++
 pacmacs.el                 | 18 ++++++------------
 test/pacmacs-board-test.el | 12 ++++++++++++
 test/pacmacs-test.el       | 12 +-----------
 4 files changed, 33 insertions(+), 23 deletions(-)

diff --git a/pacmacs-board.el b/pacmacs-board.el
index f60a56ce10..894bd5d245 100644
--- a/pacmacs-board.el
+++ b/pacmacs-board.el
@@ -57,6 +57,20 @@
           (mod column width)
           value)))
 
+(defun pacmacs--object-at-p (board row column objects)
+  (plist-bind ((width :width)
+               (height :height))
+      board
+    (member (cons (mod row height)
+                  (mod column width))
+            (mapcar #'(lambda (object)
+                        (plist-bind ((row :row)
+                                     (column :column))
+                            object
+                          (cons row column)))
+                    objects))))
+
 (provide 'pacmacs-board)
 
 ;;; pacmacs-board.el ends here
+
diff --git a/pacmacs.el b/pacmacs.el
index be7ca5b149..88c83eb543 100644
--- a/pacmacs.el
+++ b/pacmacs.el
@@ -142,21 +142,15 @@
           (kill-buffer-and-window))
       (kill-buffer buffer-or-name))))
 
-(defun pacmacs--object-at-p (row column objects)
-  (member (cons (mod row pacmacs-board-height)
-                (mod column pacmacs-board-width))
-          (mapcar #'(lambda (object)
-                      (plist-bind ((row :row)
-                                   (column :column))
-                          object
-                        (cons row column)))
-                  objects)))
-
 (defun pacmacs--wall-at-p (row column)
-  (pacmacs--object-at-p row column pacmacs-wall-cells))
+  (pacmacs--object-at-p pacmacs-board
+                        row column
+                        pacmacs-wall-cells))
 
 (defun pacmacs--pill-at-p (row column)
-  (pacmacs--object-at-p row column pacmacs-pills))
+  (pacmacs--object-at-p pacmacs-board
+                        row column
+                        pacmacs-pills))
 
 (defun pacmacs-quit ()
   (interactive)
diff --git a/test/pacmacs-board-test.el b/test/pacmacs-board-test.el
index ccbec9e757..162887571d 100644
--- a/test/pacmacs-board-test.el
+++ b/test/pacmacs-board-test.el
@@ -29,3 +29,15 @@
     (pacmacs--cell-set input-board 1 1 42)
     (should (equal expected-board
                    input-board))))
+
+(ert-deftest pacmacs--object-at-p-test ()
+  (let ((board (list :width 5
+                     :height 4))
+        (objects (-map #'(lambda (x)
+                           (list :row x
+                                 :column x))
+                       (number-sequence 0 3))))
+    (should (pacmacs--object-at-p board 0 0 objects))
+    (should (not (pacmacs--object-at-p board 0 1 objects)))
+    (should (pacmacs--object-at-p board 0 5 objects))
+    (should (not (pacmacs--object-at-p board 1 5 objects)))))
diff --git a/test/pacmacs-test.el b/test/pacmacs-test.el
index 8859859408..3ef8e9bd37 100644
--- a/test/pacmacs-test.el
+++ b/test/pacmacs-test.el
@@ -8,17 +8,7 @@
     (should (equal expected-board
                    input-board))))
 
-(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)



reply via email to

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