--- a/RegressionTests__StreamTests.st Sun Apr 10 13:32:44 2016 +0200
+++ b/RegressionTests__StreamTests.st Sun Apr 10 17:32:21 2016 +0200
@@ -516,6 +516,69 @@
self run:#test30_readWriteBinary
self new test30_readWriteBinary
"
+!
+
+test31_readWriteBinaryIntegers
+ |s|
+
+ #(
+ 0 1 #[ 0 ]
+ 0 2 #[ 0 0 ]
+ 0 3 #[ 0 0 0 ]
+ 0 4 #[ 0 0 0 0]
+ 0 6 #[ 0 0 0 0 0 0]
+
+ 1 1 #[ 1 ]
+ 1 2 #[ 0 1 ]
+ 1 3 #[ 0 0 1 ]
+ 1 4 #[ 0 0 0 1 ]
+ 1 6 #[ 0 0 0 0 0 1 ]
+
+ 16r8000 2 #[ 16r80 16r00 ]
+ 16r8000 3 #[ 16r00 16r80 16r00 ]
+ 16r8000 4 #[ 16r00 16r00 16r80 16r00 ]
+ 16r8000 5 #[ 16r00 16r00 16r00 16r80 16r00 ]
+ 16r8000 6 #[ 16r00 16r00 16r00 16r00 16r80 16r00 ]
+
+ 16r12345678 4 #[ 16r12 16r34 16r56 16r78 ]
+ 16r12345678 5 #[ 16r00 16r12 16r34 16r56 16r78 ]
+ 16r12345678 6 #[ 16r00 16r00 16r12 16r34 16r56 16r78 ]
+
+ 16r87654321 4 #[ 16r87 16r65 16r43 16r21 ]
+ 16r87654321 5 #[ 16r00 16r87 16r65 16r43 16r21 ]
+ 16r87654321 6 #[ 16r00 16r00 16r87 16r65 16r43 16r21 ]
+
+ ) inGroupsOf:3 do:[:val :nBytes :expected |
+ s := WriteStream on:(ByteArray new).
+ s nextNumber:nBytes put:val MSB:true.
+ self assert:(s contents = expected).
+
+ s := WriteStream on:(ByteArray new).
+ s nextNumber:nBytes put:val MSB:false.
+ self assert:(s contents reversed = expected).
+
+ "/ because external streams may have specially tuned output methods,
+ "/ test them also
+ [
+ s := 'testData' asFilename writeStream.
+ s nextNumber:nBytes put:val MSB:true.
+ s close.
+ self assert:('testData' asFilename binaryContentsOfEntireFile = expected).
+
+ s := 'testData' asFilename writeStream.
+ s nextNumber:nBytes put:val MSB:false.
+ s close.
+ self assert:('testData' asFilename binaryContentsOfEntireFile reversed = expected).
+ ] ensure:[
+ 'testData' asFilename delete
+ ].
+ ].
+
+
+ "
+ self run:#test31_readWriteBinaryIntegers
+ self new test31_readWriteBinaryIntegers
+ "
! !
!StreamTests class methodsFor:'documentation'!