tvl-depot/users/wpcarro/emacs/pkgs/bag/tests.el
William Carroll 7410928b5b 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
2022-07-30 01:29:58 +00:00

36 lines
943 B
EmacsLisp

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 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))))