2023-01-29 15:03:13 +00:00
|
|
|
(ns more-speech.mem-spec
|
|
|
|
(:require [speclj.core :refer :all]
|
2023-01-30 20:26:08 +00:00
|
|
|
[more-speech.mem :refer :all]))
|
2023-01-29 15:03:13 +00:00
|
|
|
|
|
|
|
(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])))
|
|
|
|
)
|