summaryrefslogtreecommitdiff
path: root/dictionary/dictionary-test.scm
blob: 89830fe9a334f15e541d71fec648c32beac0767a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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")