Work transfer
This commit is contained in:
+101
-101
@@ -1,101 +1,101 @@
|
||||
(import "alist.slime")
|
||||
|
||||
(define a (ds::alist::make))
|
||||
;; a == (())
|
||||
|
||||
(assert (= (first a) ()))
|
||||
|
||||
(ds::alist::set! a 'key1 'value1)
|
||||
;; a == (key1: value1)
|
||||
|
||||
(assert (= (ds::alist::get a 'key1) 'value1))
|
||||
(assert (ds::alist::key-exists? a 'key1))
|
||||
(assert (not (ds::alist::key-exists? a 'key2)))
|
||||
|
||||
(ds::alist::set! a 'key2 'value2)
|
||||
;; a == (key2: value2,
|
||||
;; key1: value1)
|
||||
|
||||
(assert (= (ds::alist::get a 'key2) 'value2))
|
||||
(assert (ds::alist::key-exists? a 'key2))
|
||||
(assert (= (ds::alist::find a 'key2) 0))
|
||||
(assert (= (ds::alist::find a 'key1) 1))
|
||||
(assert (= (length (first a)) 2))
|
||||
|
||||
|
||||
(ds::alist::set! a 'key1 'value3)
|
||||
;; a == (key1: value3,
|
||||
;; key2: value2,
|
||||
;; key1: value1)
|
||||
|
||||
(assert (= (length (first a)) 3))
|
||||
(assert (= (ds::alist::get a 'key1) 'value3))
|
||||
|
||||
(ds::alist::set-overwrite! a 'key1 'value4)
|
||||
;; a == (key1: value4,
|
||||
;; key2: value2,
|
||||
;; key1: value1)
|
||||
|
||||
(assert (= (length (first a)) 3))
|
||||
(assert (= (ds::alist::get a 'key1) 'value4))
|
||||
|
||||
(ds::alist::remove! a 'key1)
|
||||
;; a == (key2: value2,
|
||||
;; key1: value1)
|
||||
|
||||
(assert (= (length (first a)) 2))
|
||||
(assert (= (ds::alist::get a 'key1) 'value1))
|
||||
(assert (= (ds::alist::get a 'key2) 'value2))
|
||||
|
||||
|
||||
;; -------------
|
||||
;;
|
||||
;; PLISTS
|
||||
;;
|
||||
;; -------------
|
||||
|
||||
(define p (ds::plist::make))
|
||||
;; p == (())
|
||||
|
||||
(assert (= (first p) ()))
|
||||
|
||||
(ds::plist::set! p :key1 'value1)
|
||||
;; p == ((:key1 value1))
|
||||
|
||||
(assert (= (ds::plist::get p :key1) 'value1))
|
||||
(assert (ds::plist::prop-exists? p :key1))
|
||||
(assert (not (ds::plist::prop-exists? p :key2)))
|
||||
|
||||
(ds::plist::set! p :key2 'value2)
|
||||
;; p == ((:key2 value2,
|
||||
;; :key1 value1))
|
||||
|
||||
(assert (= (ds::plist::get p :key2) 'value2))
|
||||
(assert (ds::plist::prop-exists? p :key2))
|
||||
(assert (= (ds::plist::find p :key2) 0))
|
||||
(assert (= (ds::plist::find p :key1) 1))
|
||||
(assert (= (length (first p)) 4))
|
||||
|
||||
(ds::plist::set! p :key1 'value3)
|
||||
;; p == ((:key1 value3,
|
||||
;; :key2 value2,
|
||||
;; :key1 value1))
|
||||
|
||||
(assert (= (length (first p)) 6))
|
||||
(assert (= (ds::plist::get p :key1) 'value3))
|
||||
|
||||
(ds::plist::set-overwrite! p :key1 'value4)
|
||||
;; p == ((:key1 value4,
|
||||
;; :key2 value2,
|
||||
;; :key1 value1))
|
||||
|
||||
;; (assert (= (length (first p)) 6))
|
||||
;; (assert (= (ds::plist::get p :key1) 'value4))
|
||||
|
||||
;; (ds::plist::remove! p :key1)
|
||||
;; ;; p == ((:key2 value2,
|
||||
;; ;; :key1 value1))
|
||||
|
||||
;; (assert (= (length (first p)) 4))
|
||||
;; (assert (= (ds::plist::get p :key1) 'value1))
|
||||
;; (assert (= (ds::plist::get p :key2) 'value2))
|
||||
(import "alist.slime")
|
||||
|
||||
(define a (ds::alist::make))
|
||||
;; a == (())
|
||||
|
||||
(assert (= (first a) ()))
|
||||
|
||||
(ds::alist::set! a 'key1 'value1)
|
||||
;; a == (key1: value1)
|
||||
|
||||
(assert (= (ds::alist::get a 'key1) 'value1))
|
||||
(assert (ds::alist::key-exists? a 'key1))
|
||||
(assert (not (ds::alist::key-exists? a 'key2)))
|
||||
|
||||
(ds::alist::set! a 'key2 'value2)
|
||||
;; a == (key2: value2,
|
||||
;; key1: value1)
|
||||
|
||||
(assert (= (ds::alist::get a 'key2) 'value2))
|
||||
(assert (ds::alist::key-exists? a 'key2))
|
||||
(assert (= (ds::alist::find a 'key2) 0))
|
||||
(assert (= (ds::alist::find a 'key1) 1))
|
||||
(assert (= (length (first a)) 2))
|
||||
|
||||
|
||||
(ds::alist::set! a 'key1 'value3)
|
||||
;; a == (key1: value3,
|
||||
;; key2: value2,
|
||||
;; key1: value1)
|
||||
|
||||
(assert (= (length (first a)) 3))
|
||||
(assert (= (ds::alist::get a 'key1) 'value3))
|
||||
|
||||
(ds::alist::set-overwrite! a 'key1 'value4)
|
||||
;; a == (key1: value4,
|
||||
;; key2: value2,
|
||||
;; key1: value1)
|
||||
|
||||
(assert (= (length (first a)) 3))
|
||||
(assert (= (ds::alist::get a 'key1) 'value4))
|
||||
|
||||
(ds::alist::remove! a 'key1)
|
||||
;; a == (key2: value2,
|
||||
;; key1: value1)
|
||||
|
||||
(assert (= (length (first a)) 2))
|
||||
(assert (= (ds::alist::get a 'key1) 'value1))
|
||||
(assert (= (ds::alist::get a 'key2) 'value2))
|
||||
|
||||
|
||||
;; -------------
|
||||
;;
|
||||
;; PLISTS
|
||||
;;
|
||||
;; -------------
|
||||
|
||||
(define p (ds::plist::make))
|
||||
;; p == (())
|
||||
|
||||
(assert (= (first p) ()))
|
||||
|
||||
(ds::plist::set! p :key1 'value1)
|
||||
;; p == ((:key1 value1))
|
||||
|
||||
(assert (= (ds::plist::get p :key1) 'value1))
|
||||
(assert (ds::plist::prop-exists? p :key1))
|
||||
(assert (not (ds::plist::prop-exists? p :key2)))
|
||||
|
||||
(ds::plist::set! p :key2 'value2)
|
||||
;; p == ((:key2 value2,
|
||||
;; :key1 value1))
|
||||
|
||||
(assert (= (ds::plist::get p :key2) 'value2))
|
||||
(assert (ds::plist::prop-exists? p :key2))
|
||||
(assert (= (ds::plist::find p :key2) 0))
|
||||
(assert (= (ds::plist::find p :key1) 1))
|
||||
(assert (= (length (first p)) 4))
|
||||
|
||||
(ds::plist::set! p :key1 'value3)
|
||||
;; p == ((:key1 value3,
|
||||
;; :key2 value2,
|
||||
;; :key1 value1))
|
||||
|
||||
(assert (= (length (first p)) 6))
|
||||
(assert (= (ds::plist::get p :key1) 'value3))
|
||||
|
||||
(ds::plist::set-overwrite! p :key1 'value4)
|
||||
;; p == ((:key1 value4,
|
||||
;; :key2 value2,
|
||||
;; :key1 value1))
|
||||
|
||||
;; (assert (= (length (first p)) 6))
|
||||
;; (assert (= (ds::plist::get p :key1) 'value4))
|
||||
|
||||
;; (ds::plist::remove! p :key1)
|
||||
;; ;; p == ((:key2 value2,
|
||||
;; ;; :key1 value1))
|
||||
|
||||
;; (assert (= (length (first p)) 4))
|
||||
;; (assert (= (ds::plist::get p :key1) 'value1))
|
||||
;; (assert (= (ds::plist::get p :key2) 'value2))
|
||||
|
||||
Reference in New Issue
Block a user