diff options
author | bd <bdunahu@operationnull.com> | 2024-06-09 23:20:44 -0600 |
---|---|---|
committer | bd <bdunahu@operationnull.com> | 2024-06-09 23:20:44 -0600 |
commit | efb4865c81bfef747428303d5388fb1889db5769 (patch) | |
tree | fd27b383cb6c53f64faee37ec543052f14a21b4c /spellcheck | |
parent | e29188413ec6c3243f7965b4408459a7517539b3 (diff) |
Cleanup repository
Diffstat (limited to 'spellcheck')
l---------[-rw-r--r--] | spellcheck/dictionary.scm | 37 | ||||
-rw-r--r-- | spellcheck/spellcheck-test.scm | 57 |
2 files changed, 2 insertions, 92 deletions
diff --git a/spellcheck/dictionary.scm b/spellcheck/dictionary.scm index 856fec5..237a3c6 100644..120000 --- a/spellcheck/dictionary.scm +++ b/spellcheck/dictionary.scm @@ -1,36 +1 @@ -(define-module (dictionary) - #:export (create-dictionary - dict-occur-ref - dict-keys-ref - dict-values-ref)) - -(define (create-dictionary lst) - (dictionary-helper (make-hash-table) lst)) - -(define (dictionary-helper dict rest) - "Recursively adds words to DICT." - (if (null? rest) - dict - (begin - (dict-inc-word dict (car rest)) - (dictionary-helper dict (cdr rest))))) - -(define (dict-inc-word dict e) - "Inserts word E into the DICT, using E -as a key and the running total of occurances -as the value." - (hashq-set! - dict e (1+ (dict-occur-ref dict e)))) - -(define (dict-occur-ref dict e) - "A wrapper for hashq-ref. Returns '0' if an element -is not present, rather than '#f'." - (or (hashq-ref dict e) 0)) - -(define (dict-keys-ref dict) - "Returns a list of all words in the dictionary." - (map car (hash-map->list cons dict))) - -(define (dict-values-ref dict) - "Sums up the total number of occurances for all words." - (apply + (map cdr (hash-map->list cons dict)))) +../dictionary/dictionary.scm
\ No newline at end of file diff --git a/spellcheck/spellcheck-test.scm b/spellcheck/spellcheck-test.scm index 438384d..55fce48 100644 --- a/spellcheck/spellcheck-test.scm +++ b/spellcheck/spellcheck-test.scm @@ -1,61 +1,6 @@ (use-modules (srfi srfi-64) - (dictionary) - (mutate)) + (mutate)) -(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") (test-begin "mutate") |