Of course this is not next but int16 :)

I will look further into

testInt16Aliases
| input writer |
writer := [ :block |
ByteArray streamContents: [ :out |
ZnBufferedWriteStream on: out do: block ] ].
input := ByteArray readHexFrom: '04D2'.
self assert: (ZnBufferedReadStream on: input readStream) int16 equals: 1234.
self assert: (ZnBufferedReadStream on: input readStream) uint16 equals: 1234.
self assert: (ZnBufferedReadStream on: input readStream) nextWord equals: 1234.
self assert: ((ZnBufferedReadStream on: input readStream) nextNumber:
2) equals: 1234.
self assert: ((ZnBufferedReadStream on: input reversed readStream)
nextLittleEndianNumber: 2) equals: 1234.
self assert: (writer value: [ :out | out int16: 1234 ]) equals: input.
self assert: (writer value: [ :out | out uint16: 1234 ]) equals: input.
self assert: (writer value: [ :out | out nextWordPut: 1234 ]) equals: input.
self assert: (writer value: [ :out | out nextNumber: 2 put: 1234 ])
equals: input.
self assert: (writer value: [ :out | out nextLittleEndianNumber: 2
put: 1234 ]) equals: input reversed.
input := ByteArray readHexFrom: 'FB2E'.
self assert: (ZnBufferedReadStream on: input readStream) int16 equals: -1234.
self assert: (writer value: [ :out | out int16: -1234 ]) equals: input





On Fri, Dec 21, 2018 at 10:40 PM Stephane Ducasse
<[email protected]> wrote:
>
> Hi
>
>  I'm fighting with super badly written code and my first reaction is a
> to be able to write tests and parametrize the code.
>
> I have some byteArray (contents of a CDB database) that I would like
> to manipulate using stream API.
> I'm looking for something like this
>
> ZnBinaryStream on: aByteArray;
>     next; next; skip: 10; ...
>
> Stef

Reply via email to