Skip to content

Commit ffbdb3e

Browse files
author
Temur Saidkhodjaev
committed
Added Iniquity test files and test harness
1 parent f279afe commit ffbdb3e

10 files changed

Lines changed: 80 additions & 0 deletions

File tree

langs/iniquity/test/all.rkt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#lang racket
2+
3+
;; run command line compiler and compare against Racket as refernece implementation
4+
(require rackunit "../../test-programs/get-progs.rkt")
5+
(for-each test-prog (get-progs "iniquity"))
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#lang racket
2+
(begin
3+
(define (repeat n v)
4+
(if (zero? n)
5+
'()
6+
(cons v (repeat (sub1 n) v))))
7+
(repeat 10 42))
8+
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#lang racket
2+
(begin
3+
(define (even? x)
4+
(if (zero? x)
5+
#t
6+
(odd? (sub1 x))))
7+
(define (odd? x)
8+
(if (zero? x)
9+
#f
10+
(even? (sub1 x))))
11+
(even? 42))
12+
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#lang racket
2+
(begin
3+
(define (f x) x)
4+
(f 5))
5+
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#lang racket
2+
(begin
3+
(define (map-add1 xs)
4+
(if (empty? xs)
5+
'()
6+
(cons (add1 (car xs))
7+
(map-add1 (cdr xs)))))
8+
(map-add1 (cons 1 (cons 2 (cons 3 '())))))
9+
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#lang racket
2+
(begin
3+
(define (f x) x)
4+
(define (g y) (+ y 5))
5+
(define (h x y z) (+ (- x y) z))
6+
(define (unused x y) 42)
7+
(h (f 5) (g 42) 31))
8+
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#lang racket
2+
(begin
3+
(define (print-alphabet i)
4+
(if (zero? i)
5+
(void)
6+
(begin (write-byte (- 123 i))
7+
(print-alphabet (sub1 i)))))
8+
(print-alphabet 26))
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
1
2+
2
3+
3
4+
4
5+
5
6+
6
7+
7
8+
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#lang racket
2+
(begin
3+
(define (read-int-list)
4+
(let ([x (read-byte)])
5+
(if (eof-object? x)
6+
'()
7+
(cons x (read-int-list)))))
8+
(read-int-list))
9+
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#lang racket
2+
(begin
3+
(define (tri x)
4+
(if (zero? x)
5+
0
6+
(+ x (tri (sub1 x)))))
7+
(tri 9))
8+

0 commit comments

Comments
 (0)