RegressionTests__StreamTests.st
author Claus Gittinger <cg@exept.de>
Fri, 16 Sep 2011 15:26:03 +0200
changeset 636 450f6c74861f
child 637 9dbf4cbf5bea
permissions -rw-r--r--
initial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
636
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'exept:regression' }"
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"{ NameSpace: RegressionTests }"
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
TestCase subclass:#StreamTests
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	instanceVariableNames:''
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	classVariableNames:''
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
	poolDictionaries:''
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
	category:'tests-Regression'
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
!
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
!StreamTests class methodsFor:'documentation'!
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
documentation
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
"
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
    documentation to be added.
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
    [author:]
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
        cg
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
    [instance variables:]
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
    [class variables:]
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
    [see also:]
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
"
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
! !
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
!StreamTests class methodsFor:'queries'!
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
coveredClassNames
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
    ^ #(
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
        'PositionableStream'
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
    )
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
    "Created: / 16-09-2011 / 14:56:05 / cg"
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
! !
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
!StreamTests methodsFor:'tests'!
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
test01_numberReading
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
    |b s val|
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
    b := #[1 2 3 4].
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
    s := b readStream.
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
    self assert:( val := s nextLittleEndianNumber:4 ) = 16r04030201.
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
    self assert:( s atEnd ).
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
    self assert:( val := #[16r81 16r82 16r83 16r84] readStream nextLittleEndianNumber:4 ) = 16r84838281.
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
    self assert:( val := #[16r81 16r82 16r83 16r84 16r85 16r86 16r87 16r88] readStream nextLittleEndianNumber:8 ) = 16r8887868584838281.
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
    "/ signed
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
    self assert:( val := #[16r01 16r02 16r03 16r04] readStream nextInt32 ) = 16r01020304.
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
    self assert:( val := #[16rFF 16rFF 16rFF 16rFF] readStream nextInt32 ) = -1.
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
    self assert:( val := #[16r80 16r00 16r00 16r00] readStream nextInt32 ) = -2147483648.
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
    s := WriteStream on:ByteArray new.
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
    s nextInt32Put:16r01020304.
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
    self assert:( val := s contents ) = #[16r01 16r02 16r03 16r04].
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
    s := WriteStream on:ByteArray new.
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
    s nextLittleEndianNumber:4 put:16r01020304.
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
    self assert:( val := s contents ) = #[16r04 16r03 16r02 16r01].
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
    s := WriteStream on:ByteArray new.
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
    s nextLittleEndianNumber:8 put:16r0102030405060708.
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
    self assert:( val := s contents ) = #[16r08 16r07 16r06 16r05 16r04 16r03 16r02 16r01].
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
    "
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
     self run:#test01_numberReading
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
     self new test01_numberReading
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
    "
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
    "Created: / 16-09-2011 / 14:33:24 / cg"
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
! !
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
!StreamTests class methodsFor:'documentation'!
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
version
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
    ^ '$Header$'
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
!
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
version_CVS
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
    ^ '$Header$'
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
! !