feat(wpcarro/emacs): Package bag.el

More Elisp packaging :)

Change-Id: I4cf5695fd97ed922b8dfe698a168061042208c73
Reviewed-on: https://cl.tvl.fyi/c/depot/+/6001
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
This commit is contained in:
William Carroll 2022-07-29 18:26:43 -07:00 committed by clbot
parent 6b3f4113cc
commit 7410928b5b
3 changed files with 95 additions and 25 deletions

View file

@ -0,0 +1,36 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Dependencies
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(require 'ert)
(require 'bag)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Tests
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(setq fixture (bag-from-list '(1 1 1 2 2 3)))
(ert-deftest bag-add ()
(and
(not (bag-contains? 4 fixture))
(bag-contains? 4 (bag-add 4 fixture))))
(ert-deftest bag-remove ()
(and
(bag-contains? 1 fixture)
(not (bag-contains? 3 (bag-remove 3 fixture)))))
(ert-deftest bag-count ()
(and
(= 3 (bag-count 1 fixture))
(= 2 (bag-count 2 fixture))
(= 1 (bag-count 3 fixture))))
(ert-deftest bag-total ()
(= 6 (bag-total fixture)))
(ert-deftest bag-contains? ()
(and
(bag-contains? 1 fixture)
(not (bag-contains? 4 fixture))))