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