File: variable.zuo

package info (click to toggle)
zuo 1.12-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,352 kB
  • sloc: ansic: 6,374; makefile: 39
file content (23 lines) | stat: -rw-r--r-- 656 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#lang zuo

(require "harness.zuo")

(alert "variables")

(check (variable? (variable 'alice)))
(check (not (variable? 'alice)))

(check-fail (variable-ref (variable 'alice)) "undefined: alice")
(check-fail (variable-ref 'alice) "not a variable")

(check (let ([a (variable 'alice)])
         (variable-set! a 'home)
         (list (variable-ref a) (variable-ref a)))
       '(home home))
(check-fail (let ([a (variable 'alice)])
              (variable-set! a 'home)
              (variable-set! a 'home))
            "variable already has a value")
(check-fail (variable-set! 'alice 'home) "not a variable")

(check-arg-fail (variable 10) "not a symbol")