--- a/RegressionTests__StreamTests.st Thu Feb 11 14:48:14 2016 +0100
+++ b/RegressionTests__StreamTests.st Wed Feb 24 15:48:38 2016 +0100
@@ -1,5 +1,3 @@
-"{ Encoding: utf8 }"
-
"{ Package: 'exept:regression' }"
"{ NameSpace: RegressionTests }"
@@ -421,6 +419,73 @@
self run:#test20_readWriteStream
self new test20_readWriteStream
"
+!
+
+test30_readWriteBinary
+ |testVector s val|
+
+ #(
+ 0 #[ 0 0 ]
+ 1 #[ 0 1 ]
+ 16r7F #[ 0 16r7F ]
+ 16r80 #[ 0 16r80 ]
+ 16rFF #[ 0 16rFF ]
+ 16r100 #[ 1 16r00 ]
+ 16r7FFF #[ 16r7F 16rFF ]
+
+ -1 #[ 16rFF 16rFF ]
+ -16r7F #[ 16rFF 16r81 ]
+ -16r80 #[ 16rFF 16r80 ]
+ -16rFF #[ 16rFF 16r01 ]
+ -16r7FFF #[ 16r80 16r01 ]
+ -16r8000 #[ 16r80 16r00 ]
+ ) pairWiseDo:[:val :expected |
+ s := WriteStream on:(ByteArray new).
+ s nextPutShort:val MSB:true.
+ self assert:(s contents = expected).
+
+ s := WriteStream on:(ByteArray new).
+ s nextPutShort:val MSB:false.
+ self assert:(s contents reversed = expected).
+ ].
+
+ #(true false) do:[:msb |
+ testVector :=
+ #(
+ 0 1 -1
+ 16r7f 16r80 16r81
+ -16r7f -16r80 -16r81
+ 16r7fff -16r7fff -16r8000
+ ).
+
+ s := ReadWriteStream on:(ByteArray new).
+ testVector do:[:written |
+ s nextPutShort:written MSB:msb.
+ ].
+
+ s reset.
+
+ testVector do:[:expected |
+ self assert:(val := s nextShortMSB:msb) == expected.
+ ].
+
+
+ s := ReadWriteStream on:(ByteArray new).
+ testVector do:[:written |
+ s nextPutLong:written MSB:msb.
+ ].
+
+ s reset.
+
+ testVector do:[:expected |
+ self assert:(val := s nextLongMSB:msb) == expected.
+ ].
+ ].
+
+ "
+ self run:#test30_readWriteBinary
+ self new test30_readWriteBinary
+ "
! !
!StreamTests class methodsFor:'documentation'!