tvl-depot/users/wpcarro/emacs/pkgs/bag/tests.el

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

33 lines
992 B
EmacsLisp
Raw Normal View History

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