fix(wpcarro/emacs): Fix list.el tests

I was getting false-positive ERT test results because I forgot to use the
`should` macro in my assertions. I discovered this when debugging a subtle bug
in cycle.el that depends on `list-contains?` return `t` or `nil` instead of
truthy or falsy values.

Change-Id: Ibbf89fd1c4f50f86d5efcaa4cd87280b97e111ce
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6003
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
This commit is contained in:
William Carroll 2022-07-29 20:56:29 -07:00 committed by wpcarro
parent 8989dad5ed
commit 65fb82097b
3 changed files with 35 additions and 20 deletions

View file

@ -53,6 +53,7 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(require 'dash)
(require 'maybe)
(require 'set)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@ -73,7 +74,7 @@
""
(list-reduce (list-first xs)
(lambda (x acc)
(string-concat acc joint x))
(format "%s%s%s" acc joint x))
(list-tail xs))))
(defun list-length (xs)
@ -151,12 +152,13 @@
;; TODO: Add tests.
(defun list-dedupe-adjacent (xs)
"Return XS without adjacent duplicates."
(list-reduce (list (list-first xs))
(lambda (x acc)
(if (equal x (list-first acc))
acc
(list-cons x acc)))
xs))
(list-reverse
(list-reduce (list (list-first xs))
(lambda (x acc)
(if (equal x (list-first acc))
acc
(list-cons x acc)))
xs)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Predicates
@ -182,7 +184,7 @@ Be leery of using this with things like alists. Many data structures in Elisp
(defun list-contains? (x xs)
"Return t if X is in XS using `equal'."
(-contains? xs x))
(maybe-some? (-contains? xs x)))
(defun list-xs-distinct-by? (f xs)
"Return t if all elements in XS are distinct after applying F to each."