diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-07-30 19:34:29 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-07-30 19:34:29 -0700 |
commit | 30012350281844611bda2f4668f6a0b318a95b36 (patch) | |
tree | 56ac2b67b2dd02c3caa4aa02f47be9ea492349ad /403stream.mu | |
parent | ca237761bf0f9b16838e2d3f7079d1725e3bd87b (diff) | |
download | mu-30012350281844611bda2f4668f6a0b318a95b36.tar.gz |
6687 - stream-empty? and stream-full?
Diffstat (limited to '403stream.mu')
-rw-r--r-- | 403stream.mu | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/403stream.mu b/403stream.mu index e7661658..10e9e212 100644 --- a/403stream.mu +++ b/403stream.mu @@ -4,12 +4,37 @@ fn test-stream { # write an int to a stream, then read it back var s: (stream int 4) var s2/ecx: (addr stream int 4) <- address s + var tmp/eax: boolean <- stream-empty? s2 + check-true tmp, "F - test-stream/empty?/0" + tmp <- stream-full? s2 + check-false tmp, "F - test-stream/full?/0" var x: int copy-to x, 0x34 var x2/edx: (addr int) <- address x write-to-stream s2, x2 + tmp <- stream-empty? s2 + check-false tmp, "F - test-stream/empty?/1" + tmp <- stream-full? s2 + check-false tmp, "F - test-stream/full?/1" var y: int var y2/ebx: (addr int) <- address y read-from-stream s2, y2 check-ints-equal y, 0x34, "F - test-stream" + tmp <- stream-empty? s2 + check-true tmp, "F - test-stream/empty?/2" + tmp <- stream-full? s2 + check-false tmp, "F - test-stream/full?/2" +} + +fn test-stream-full { + # write an int to a stream of capacity 1 + var s: (stream int 1) + var s2/ecx: (addr stream int 1) <- address s + var tmp/eax: boolean <- stream-full? s2 + check-false tmp, "F - test-stream-full?/pre" + var x: int + var x2/edx: (addr int) <- address x + write-to-stream s2, x2 + tmp <- stream-full? s2 + check-true tmp, "F - test-stream-full?" } |