Convert test-cvar.rkt tests to rackunit, test for subtraction
This commit is contained in:
parent
e4d469ea95
commit
b80f8768a8
|
|
@ -1,5 +1,8 @@
|
||||||
#lang racket
|
#lang racket
|
||||||
|
|
||||||
|
(provide cvar-tests)
|
||||||
|
|
||||||
|
(require rackunit)
|
||||||
(require "test-util.rkt")
|
(require "test-util.rkt")
|
||||||
(require "cvar.rkt")
|
(require "cvar.rkt")
|
||||||
|
|
||||||
|
|
@ -7,33 +10,42 @@
|
||||||
(Return (Int 0)))
|
(Return (Int 0)))
|
||||||
|
|
||||||
(define seq-2
|
(define seq-2
|
||||||
(Seq (Assign (Var 'x) (Int 42))
|
(Seq (Assign (Var 'x) (Int 3))
|
||||||
(Return (Int 42))))
|
(Return (Prim '- (list (Int 1) (Var 'x))))))
|
||||||
|
|
||||||
(define seq-3
|
(define seq-3
|
||||||
(Seq (Assign (Var 'x) (Int 42))
|
(Seq (Assign (Var 'x) (Int 42))
|
||||||
(Return (Prim '+ (list (Int 1) (Var 'x))))))
|
(Return (Int 42))))
|
||||||
|
|
||||||
(define seq-4
|
(define seq-4
|
||||||
|
(Seq (Assign (Var 'x) (Int 42))
|
||||||
|
(Return (Prim '+ (list (Int 1) (Var 'x))))))
|
||||||
|
|
||||||
|
(define seq-5
|
||||||
(Return (Prim 'read '())))
|
(Return (Prim 'read '())))
|
||||||
|
|
||||||
(define (make-start-seq seq)
|
(define (make-start-seq seq)
|
||||||
(CProgram '() `((start . ,seq))))
|
(CProgram '() `((start . ,seq))))
|
||||||
|
|
||||||
(test-eq
|
(define cvar-tests
|
||||||
|
(test-suite
|
||||||
|
"CVar tests"
|
||||||
|
(test-case
|
||||||
|
"CVar interpretation tests"
|
||||||
|
(check-equal?
|
||||||
(interp-CVar (make-start-seq seq-1))
|
(interp-CVar (make-start-seq seq-1))
|
||||||
0)
|
0)
|
||||||
|
(check-equal?
|
||||||
(test-eq
|
|
||||||
(interp-CVar (make-start-seq seq-2))
|
(interp-CVar (make-start-seq seq-2))
|
||||||
42)
|
-2)
|
||||||
|
(check-equal?
|
||||||
(test-eq
|
|
||||||
(interp-CVar (make-start-seq seq-3))
|
(interp-CVar (make-start-seq seq-3))
|
||||||
|
42)
|
||||||
|
(check-equal?
|
||||||
|
(interp-CVar (make-start-seq seq-4))
|
||||||
43)
|
43)
|
||||||
|
|
||||||
(with-input-from-num-list '(21)
|
(with-input-from-num-list '(21)
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(test-eq
|
(check-equal?
|
||||||
(interp-CVar (make-start-seq seq-4))
|
(interp-CVar (make-start-seq seq-5))
|
||||||
21)))
|
21))))))
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue