Compare commits

...

2 Commits

Author SHA1 Message Date
Enrico Lumetti a376f31d4a Convert cvar-to-bril tests to rackunit 2022-08-11 00:27:58 +02:00
Enrico Lumetti 9063858c78 Test subtraction 2022-08-10 23:48:23 +02:00
1 changed files with 12 additions and 5 deletions

View File

@ -1,6 +1,8 @@
#lang racket
(require "test-util.rkt")
(provide cvar-to-bril-tests)
(require rackunit)
(require "cvar-to-bril.rkt")
(require "uniquify.rkt")
(require "remove-complex-oper.rkt")
@ -11,7 +13,8 @@
(define listings
(list
(Program '() (Prim '+ (list (Int 1) (Int 2))))
(Program '() (Prim '+ (list (Prim '- (list (Int 1))) (Int 2))))))
(Program '() (Prim '+ (list (Prim '- (list (Int 1))) (Int 2))))
(Program '() (Prim '- (list (Int 1) (Int 2))))))
(define (evaluate-bril-main bril-program)
(cadr (interp-bril bril-program "main")))
@ -19,6 +22,10 @@
(define (pass program)
(cvar-to-bril (explicate-control (remove-complex-opera*-2 (uniquify program)))))
(for ([program listings])
(test-eq (interp-RVar (list-ref listings 0))
(evaluate-bril-main (pass (list-ref listings 0)))))
(define cvar-to-bril-tests
(test-suite
"CVar to bril testsuite"
(test-case "semantics preservation under interpretation"
(for ([program listings])
(check-equal? (interp-RVar program)
(evaluate-bril-main (pass program)))))))