Add tests for vector/_set
This adds tests for `vector/_set`.
This commit is contained in:
parent
1c58bcca49
commit
2ffffa9fd4
@ -368,6 +368,36 @@
|
||||
|
||||
(gen-specs "reverse" check-reverse :vector)
|
||||
|
||||
;;; vector/_set
|
||||
|
||||
(defn check-set
|
||||
[value-type vect value n]
|
||||
(let [stack-type (keyword (str "vector_" value-type))
|
||||
value-stack (keyword value-type)
|
||||
start-state (state/push-to-stack
|
||||
(state/push-to-stack
|
||||
(state/push-to-stack state/empty-state
|
||||
stack-type
|
||||
vect)
|
||||
value-stack
|
||||
value)
|
||||
:integer
|
||||
n)
|
||||
end-state (vector/_set stack-type start-state)]
|
||||
(or
|
||||
(and
|
||||
(empty? vect)
|
||||
(not (state/empty-stack? end-state :integer))
|
||||
(not (state/empty-stack? end-state value-stack))
|
||||
(= vect (state/peek-stack end-state stack-type)))
|
||||
(and
|
||||
(= (state/peek-stack end-state stack-type)
|
||||
(assoc vect (mod n (count vect)) value))
|
||||
(state/empty-stack? end-state :integer)
|
||||
(state/empty-stack? end-state value-stack)))))
|
||||
|
||||
(gen-specs "set" check-set :vector :item :integer)
|
||||
|
||||
;;; vector/_subvec
|
||||
|
||||
(defn clean-subvec-bounds
|
||||
|
Loading…
x
Reference in New Issue
Block a user