diff --git a/elisp/chronometrist-key-values.org b/elisp/chronometrist-key-values.org index f5902e1..62d97af 100644 --- a/elisp/chronometrist-key-values.org +++ b/elisp/chronometrist-key-values.org @@ -210,7 +210,7 @@ HISTORY-TABLE must be a hash table. (see `chronometrist-tags-history')" (chronometrist-history-prep task history-table)) #+END_SRC **** tests -#+BEGIN_SRC emacs-lisp :tangle chronometrist-key-values-tests.el :load test +#+BEGIN_SRC emacs-lisp :tangle ../tests/chronometrist-key-values-tests.el :load test (ert-deftest chronometrist-tags-history () (progn (clrhash chronometrist-tags-history) @@ -371,7 +371,7 @@ HISTORY-TABLE must be a hash table (see `chronometrist-key-history')." (chronometrist-history-prep task history-table)) #+END_SRC **** tests -#+BEGIN_SRC emacs-lisp :tangle chronometrist-key-values-tests.el :load test +#+BEGIN_SRC emacs-lisp :tangle ../tests/chronometrist-key-values-tests.el :load test (ert-deftest chronometrist-key-history () (progn (clrhash chronometrist-key-history) @@ -419,7 +419,7 @@ HISTORY-TABLE must be a hash table. (see `chronometrist-value-history')" history-table)) #+END_SRC **** tests -#+BEGIN_SRC emacs-lisp :tangle chronometrist-key-values-tests.el :load test +#+BEGIN_SRC emacs-lisp :tangle ../tests/chronometrist-key-values-tests.el :load test (ert-deftest chronometrist-value-history () (progn (clrhash chronometrist-value-history) diff --git a/tests/chronometrist-key-values-tests.el b/tests/chronometrist-key-values-tests.el new file mode 100644 index 0000000..48c1a1c --- /dev/null +++ b/tests/chronometrist-key-values-tests.el @@ -0,0 +1,35 @@ +(ert-deftest chronometrist-tags-history () + (progn + (clrhash chronometrist-tags-history) + (cl-loop for task in '("Guitar" "Programming") do + (chronometrist-tags-history-populate task chronometrist-tags-history "test.sexp"))) + (should + (= (hash-table-count chronometrist-tags-history) 2)) + (should + (cl-loop for task being the hash-keys of chronometrist-tags-history + always (stringp task))) + (should + (equal (gethash "Guitar" chronometrist-tags-history) + '((classical solo) + (classical warm-up)))) + (should + (equal (gethash "Programming" chronometrist-tags-history) + '((reading) (bug-hunting))))) + +(ert-deftest chronometrist-key-history () + (progn + (clrhash chronometrist-key-history) + (cl-loop for task in '("Programming" "Arrangement/new edition") do + (chronometrist-key-history-populate task chronometrist-key-history "test.sexp"))) + (should (= (hash-table-count chronometrist-key-history) 2)) + (should (= (length (gethash "Programming" chronometrist-key-history)) 3)) + (should (= (length (gethash "Arrangement/new edition" chronometrist-key-history)) 2))) + +(ert-deftest chronometrist-value-history () + (progn + (clrhash chronometrist-value-history) + (chronometrist-value-history-populate chronometrist-value-history "test.sexp")) + (should (= (hash-table-count chronometrist-value-history) 5)) + (should + (cl-loop for task being the hash-keys of chronometrist-value-history + always (stringp task))))