on master help sign in
Add test case for simple Buffer functionality
commit47b327846fbe6b8b266109a24baf3f14a2db1ae3 authorShea Levy <shea@shealevy.com> dateTue 28 Jan 2014, 01:51 (13 years ago) parentb1f049b
3 files changed+49
test/buffer001/buffer001.idr+42 test/buffer001/expected+3 test/buffer001/run+4
test/buffer001/buffer001.idrnew file+42
@@ -0,0 +1,42 @@
1+module Main
2+
3+em : Buffer 0
4+em = allocate 32
5+
6+one : Bits32
7+one = 1
8+
9+two : Bits8
10+two = 2
11+
12+firstHalf : Buffer 32
13+firstHalf = appendLE em 1 one
14+
15+full : Buffer 64
16+full = appendLE firstHalf 4 two
17+
18+firstByte : Bits8
19+firstByte = peekLE full 0
20+
21+firstHalfView : Buffer 32
22+firstHalfView = peekLE full 0
23+
24+firstHalfCopy : Buffer 32
25+firstHalfCopy = copy firstHalfView
26+
27+oneFromFirstHalf : Bits32
28+oneFromFirstHalf = peekLE firstHalf 0
29+
30+oneFromFirstHalfCopy = peekLE firstHalfCopy 0
31+
32+viewsAndCopiesPreserveEquality : Bool
33+viewsAndCopiesPreserveEquality = (oneFromFirstHalf == one) && (oneFromFirstHalfCopy == one)
34+
35+secondHalfWord : Bits32
36+secondHalfWord = peekLE full 1
37+
38+main : IO ()
39+main = do
40+ putStrLn $ show firstByte
41+ putStrLn $ show viewsAndCopiesPreserveEquality
42+ putStrLn $ show secondHalfWord
test/buffer001/expectednew file+3
@@ -0,0 +1,3 @@
1+1
2+True
3+33686018
test/buffer001/runnew file+4
@@ -0,0 +1,4 @@
1+#!/usr/bin/env bash
2+idris $@ buffer001.idr -o buffer001
3+./buffer001
4+rm -f buffer001 *.ibc