more-speech/spec/more_speech/mem_spec.clj

29 lines
720 B
Clojure
Raw Normal View History

(ns more-speech.mem-spec
(:require [speclj.core :refer :all]
2023-01-30 20:26:08 +00:00
[more-speech.mem :refer :all]))
(describe "memory operators"
(before (clear-mem))
(it "unknown values are nil"
(should-be-nil (get-mem :unknown)))
(it "gets a value that was set"
(set-mem :name :value)
(should= :value (get-mem :name)))
(it "sets and gets a nested value"
(set-mem [:name :sub-name] :value)
(should= :value (get-mem [:name :sub-name])))
(it "updates a value"
(set-mem :list [])
(update-mem :list conj 1)
(should= [1] (get-mem :list)))
(it "updates a nested value"
(set-mem [:name :list] [])
(update-mem [:name :list] conj 1)
(should= [1] (get-mem [:name :list])))
)