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

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

[nongnu] elpa/pacmacs edf7600fca 237/472: Add functions for drawing bars


From: ELPA Syncer
Subject: [nongnu] elpa/pacmacs edf7600fca 237/472: Add functions for drawing bars (#131)
Date: Thu, 6 Jan 2022 21:59:28 -0500 (EST)

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

    Add functions for drawing bars (#131)
---
 pacmacs-image.el           | 10 ++++++++++
 test/pacmacs-image-test.el | 26 ++++++++++++++++++++++++++
 test/test-helper.el        |  6 ++++++
 3 files changed, 42 insertions(+)

diff --git a/pacmacs-image.el b/pacmacs-image.el
index 869ce91e3f..287d1e39ea 100644
--- a/pacmacs-image.el
+++ b/pacmacs-image.el
@@ -59,6 +59,16 @@
     (dotimes (j weight)
       (aset (aref bits (+ i row)) (+ j column) t))))
 
+(defun pacmacs--put-vertical-bar (bits column height weight)
+  (dotimes (w weight)
+    (dotimes (i height)
+      (aset (aref bits i) (+ column w) t))))
+
+(defun pacmacs--put-horizontal-bar (bits row width weight)
+  (dotimes (w weight)
+    (dotimes (i width)
+      (aset (aref bits (+ row w)) i t))))
+
 (defun pacmacs--create-wall-block (width
                                    height color
                                    bottom right top left
diff --git a/test/pacmacs-image-test.el b/test/pacmacs-image-test.el
index cd0d216387..6bf68f5a1c 100644
--- a/test/pacmacs-image-test.el
+++ b/test/pacmacs-image-test.el
@@ -64,3 +64,29 @@
     (pacmacs--put-bits-dot input-bits 0 0 2)
     (should (equal expected-bits
                    input-bits))))
+
+(ert-deftest pacmacs--put-vertical-bar-test ()
+  (let ((input-bits (pacmacs--construct-2d-bool-vector
+                     '((nil nil nil)
+                       (nil nil nil)
+                       (nil nil nil))))
+        (expected-bits (pacmacs--construct-2d-bool-vector
+                        '((t t nil)
+                          (t t nil)
+                          (t t nil)))))
+    (pacmacs--put-vertical-bar input-bits 0 3 2)
+    (should (equal (pacmacs--bits-to-lists expected-bits)
+                   (pacmacs--bits-to-lists input-bits)))))
+
+(ert-deftest pacmacs--put-horizontal-bar-test ()
+  (let ((input-bits (pacmacs--construct-2d-bool-vector
+                     '((nil nil nil)
+                       (nil nil nil)
+                       (nil nil nil))))
+        (expected-bits (pacmacs--construct-2d-bool-vector
+                        '((t   t   t)
+                          (t   t   t)
+                          (nil nil nil)))))
+    (pacmacs--put-horizontal-bar input-bits 0 3 2)
+    (should (equal (pacmacs--bits-to-lists expected-bits)
+                   (pacmacs--bits-to-lists input-bits)))))
diff --git a/test/test-helper.el b/test/test-helper.el
index fec7193f82..acf0aa1e57 100644
--- a/test/test-helper.el
+++ b/test/test-helper.el
@@ -15,9 +15,15 @@
       (cl-incf index))
     result))
 
+(defun pacmacs--bool-vector-to-list (xs)
+  (-map #'identity xs))
+
 (defun pacmacs--construct-2d-bool-vector (data)
   (apply #'vector
          (-map #'pacmacs--list-to-bool-vector data)))
 
+(defun pacmacs--bits-to-lists (bits)
+  (-map #'pacmacs--bool-vector-to-list bits))
+
 (add-to-list 'load-path ".")
 (load "pacmacs.el")



reply via email to

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