about summary refs log tree commit diff stats
path: root/403stream.mu
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2020-07-30 19:34:29 -0700
committerKartik Agaram <vc@akkartik.com>2020-07-30 19:34:29 -0700
commit30012350281844611bda2f4668f6a0b318a95b36 (patch)
tree56ac2b67b2dd02c3caa4aa02f47be9ea492349ad /403stream.mu
parentca237761bf0f9b16838e2d3f7079d1725e3bd87b (diff)
downloadmu-30012350281844611bda2f4668f6a0b318a95b36.tar.gz
6687 - stream-empty? and stream-full?
Diffstat (limited to '403stream.mu')
-rw-r--r--403stream.mu25
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?"
 }