diff options
Diffstat (limited to 'dictionary/dictionary-test.scm')
-rw-r--r-- | dictionary/dictionary-test.scm | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/dictionary/dictionary-test.scm b/dictionary/dictionary-test.scm new file mode 100644 index 0000000..89830fe --- /dev/null +++ b/dictionary/dictionary-test.scm @@ -0,0 +1,57 @@ +(use-modules (srfi srfi-64) + (dictionary)) + +(define simple-dict (create-dictionary '("word"))) +(define complex-dict (create-dictionary '("Again" "the" "thirst" + "quencher" "of" "wolves" + "embarked" "on" "a" "well" + "prepared" "expedition" + "eastward" "the" "generous" + "ruler" "moved" "the" "bitter" + "heart" "of" "the" "snake" + "across" "the" "fire"))) + +(test-begin "dictionary") + + +(test-assert "create-dictionary returns hashtable" + (hash-table? + (create-dictionary '()))) + +(define dict (create-dictionary '("word"))) + +(test-equal "list-keys-single" + '("word") + (dict-keys-ref simple-dict)) + +(test-equal "count-values-single" + 1 + (dict-values-ref simple-dict)) + + +(test-equal "retrieve single" + 1 + (dict-occur-ref complex-dict "wolves")) + +(test-equal "retrieve double" + 2 + (dict-occur-ref complex-dict "of")) + +(test-equal "retrieve quintuple" + 5 + (dict-occur-ref complex-dict "the")) + +(test-equal "retrieve zero" + 0 + (dict-occur-ref complex-dict "king")) + +(test-equal "list-keys-sentence" + '("Again" "a" "across" "bitter" "eastward" "embarked" "expedition" "fire" "generous" "heart" "moved" "of" "on" "prepared" "quencher" "ruler" "snake" "the" "thirst" "well" "wolves") + (sort (dict-keys-ref complex-dict) string<?)) + +(test-equal "count-values-sentence" + 26 + (dict-values-ref complex-dict)) + + +(test-end "dictionary") |