RegressionTests__StreamTests.st
author Stefan Vogel <sv@exept.de>
Wed, 03 Jul 2013 09:02:05 +0200
changeset 952 e9e3c9e81bb1
parent 676 b90bca4aaa94
child 1085 29bb4657f206
permissions -rw-r--r--
class: RegressionTests::StreamTests changed: #test01_numberReading_squeak (send #nextPutLong:MSB: instead of #nextInt32Put:, send #nextLongMSB: instead of #nextInt32) do not use methods marked as obsolete
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
661
e1d4a83cc338 added: #setUp
Stefan Vogel <sv@exept.de>
parents: 637
diff changeset
    40
!StreamTests methodsFor:'setup'!
e1d4a83cc338 added: #setUp
Stefan Vogel <sv@exept.de>
parents: 637
diff changeset
    41
e1d4a83cc338 added: #setUp
Stefan Vogel <sv@exept.de>
parents: 637
diff changeset
    42
setUp
e1d4a83cc338 added: #setUp
Stefan Vogel <sv@exept.de>
parents: 637
diff changeset
    43
    (Smalltalk classNamed:'stx_libcompat') isNil ifTrue:[
e1d4a83cc338 added: #setUp
Stefan Vogel <sv@exept.de>
parents: 637
diff changeset
    44
        (Smalltalk loadPackage:'stx:libcompat') ifFalse:[
e1d4a83cc338 added: #setUp
Stefan Vogel <sv@exept.de>
parents: 637
diff changeset
    45
            self error:'libcompat cannot be loaded'.        
e1d4a83cc338 added: #setUp
Stefan Vogel <sv@exept.de>
parents: 637
diff changeset
    46
        ].
e1d4a83cc338 added: #setUp
Stefan Vogel <sv@exept.de>
parents: 637
diff changeset
    47
    ].
676
b90bca4aaa94 changed: #setUp
Stefan Vogel <sv@exept.de>
parents: 661
diff changeset
    48
    stx_libcompat load.
661
e1d4a83cc338 added: #setUp
Stefan Vogel <sv@exept.de>
parents: 637
diff changeset
    49
! !
e1d4a83cc338 added: #setUp
Stefan Vogel <sv@exept.de>
parents: 637
diff changeset
    50
636
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
!StreamTests methodsFor:'tests'!
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
637
9dbf4cbf5bea added: #test01_numberReading_squeak
Claus Gittinger <cg@exept.de>
parents: 636
diff changeset
    53
test01_numberReading_squeak
636
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
    |b s val|
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
    b := #[1 2 3 4].
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
    s := b readStream.
661
e1d4a83cc338 added: #setUp
Stefan Vogel <sv@exept.de>
parents: 637
diff changeset
    58
    val := s nextLittleEndianNumber:4.
e1d4a83cc338 added: #setUp
Stefan Vogel <sv@exept.de>
parents: 637
diff changeset
    59
    self assert:val = 16r04030201.
636
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
    self assert:( s atEnd ).
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
    self assert:( val := #[16r81 16r82 16r83 16r84] readStream nextLittleEndianNumber:4 ) = 16r84838281.
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
    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
    64
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
    "/ signed
952
e9e3c9e81bb1 class: RegressionTests::StreamTests
Stefan Vogel <sv@exept.de>
parents: 676
diff changeset
    66
    self assert:( val := #[16r01 16r02 16r03 16r04] readStream nextLongMSB:true ) = 16r01020304.
e9e3c9e81bb1 class: RegressionTests::StreamTests
Stefan Vogel <sv@exept.de>
parents: 676
diff changeset
    67
    self assert:( val := #[16rFF 16rFF 16rFF 16rFF] readStream nextLongMSB:true ) = -1.
e9e3c9e81bb1 class: RegressionTests::StreamTests
Stefan Vogel <sv@exept.de>
parents: 676
diff changeset
    68
    self assert:( val := #[16r80 16r00 16r00 16r00] readStream nextLongMSB:true ) = -2147483648.
636
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
    s := WriteStream on:ByteArray new.
952
e9e3c9e81bb1 class: RegressionTests::StreamTests
Stefan Vogel <sv@exept.de>
parents: 676
diff changeset
    71
    s nextPutLong:16r01020304 MSB:true.
636
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
    self assert:( val := s contents ) = #[16r01 16r02 16r03 16r04].
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
    s := WriteStream on:ByteArray new.
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
    s nextLittleEndianNumber:4 put:16r01020304.
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
    self assert:( val := s contents ) = #[16r04 16r03 16r02 16r01].
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
    s := WriteStream on:ByteArray new.
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
    s nextLittleEndianNumber:8 put:16r0102030405060708.
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
    self assert:( val := s contents ) = #[16r08 16r07 16r06 16r05 16r04 16r03 16r02 16r01].
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
    "
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
     self run:#test01_numberReading
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
     self new test01_numberReading
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
    "
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
637
9dbf4cbf5bea added: #test01_numberReading_squeak
Claus Gittinger <cg@exept.de>
parents: 636
diff changeset
    87
    "Created: / 16-09-2011 / 15:26:10 / cg"
636
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
! !
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
!StreamTests class methodsFor:'documentation'!
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
version
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
    ^ '$Header$'
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
!
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
version_CVS
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
    ^ '$Header$'
450f6c74861f initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
! !
952
e9e3c9e81bb1 class: RegressionTests::StreamTests
Stefan Vogel <sv@exept.de>
parents: 676
diff changeset
    99