RegressionTests__XMLCoderTests.st
author Claus Gittinger <cg@exept.de>
Tue, 21 Oct 2003 10:22:16 +0200
changeset 218 b21391af6f68
parent 217 f56519905d1d
child 219 5c4ce125abf5
permissions -rw-r--r--
removed container
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
163
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     1
"{ Package: 'exept:regression' }"
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     2
208
4db1efdbce2e Test UUID coding
Stefan Vogel <sv@exept.de>
parents: 166
diff changeset
     3
"{ NameSpace: RegressionTests }"
4db1efdbce2e Test UUID coding
Stefan Vogel <sv@exept.de>
parents: 166
diff changeset
     4
163
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
     5
TestCase subclass:#XMLCoderTests
217
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
     6
        instanceVariableNames:''
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
     7
        classVariableNames:''
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
     8
        poolDictionaries:''
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
     9
        category:'XML-Presentation'
163
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    10
!
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    11
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    12
!XMLCoderTests class methodsFor:'documentation'!
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    13
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    14
documentation
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    15
"
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    16
    documentation to be added.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    17
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    18
    [author:]
217
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
    19
        Stefan Vogel (stefan@zwerg)
163
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    20
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    21
    [see also:]
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    22
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    23
    [instance variables:]
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    24
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    25
    [class variables:]
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    26
"
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    27
!
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    28
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    29
history
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    30
    "Created: / 26.6.2002 / 10:32:14 / stefan"
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    31
! !
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    32
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    33
!XMLCoderTests methodsFor:'helpers'!
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    34
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    35
encodeAndDecode:anObject
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    36
    "test, that encoding and decoding an Object results in anObject"
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    37
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    38
    |encodedString decodedObject|
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    39
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    40
    encodedString := XMLStandardCoder new encodingOf:anObject.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    41
    decodedObject := (XMLStandardDecoder on:encodedString readStream) next.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    42
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    43
    self should:anObject = decodedObject.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    44
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    45
    encodedString := XMLStandardCoder new aspect:#encodeInstanceVariables; encodingOf:anObject.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    46
    decodedObject := (XMLStandardDecoder on:encodedString readStream) useSend:true; next.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    47
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    48
    self should:anObject = decodedObject.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    49
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    50
    ^ decodedObject.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    51
! !
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    52
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    53
!XMLCoderTests methodsFor:'initialize / release'!
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    54
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    55
setUp
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    56
    "common setup - invoked before testing"
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    57
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    58
    super setUp
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    59
!
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    60
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    61
tearDown
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    62
    "common cleanup - invoked after testing"
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    63
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    64
    super tearDown
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    65
! !
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    66
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    67
!XMLCoderTests methodsFor:'tests'!
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    68
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    69
testArray
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    70
    "test encoding an decoding of an integer"
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    71
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    72
    |arr|
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    73
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    74
    arr := Array new:10.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    75
    arr at:1 put:true.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    76
    arr at:2 put:'hallo'.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    77
    arr at:3 put:#symbol.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    78
    arr at:4 put:nil.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    79
"/    arr at:6 put:arr.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    80
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    81
    self encodeAndDecode:arr
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    82
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    83
    "
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    84
     self run:#testArray
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    85
    "
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    86
!
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    87
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    88
testBytes
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    89
    "test encoding an decoding of an ByteArray"
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    90
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    91
    self encodeAndDecode:#[1].
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    92
    self encodeAndDecode:#[1 2].
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    93
    self encodeAndDecode:#[1 2 3].
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    94
    self encodeAndDecode:#[1 2 3 4].
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    95
    self encodeAndDecode:#[1 2 3 4 5].
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    96
    self encodeAndDecode:#[1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8 9 0 12 3 4 56 7 8 9 0].
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    97
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    98
    "
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
    99
     self run:#testBytes
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   100
    "
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   101
!
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   102
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   103
testCharacter
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   104
    "test encoding an decoding of a Character"
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   105
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   106
    self encodeAndDecode:$a.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   107
    self encodeAndDecode:$ä.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   108
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   109
    "
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   110
     self run:#testCharacter
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   111
    "
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   112
!
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   113
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   114
testComplex
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   115
    "test encoding an decoding of an OrderedCollection"
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   116
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   117
    |coll r decodedObject|
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   118
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   119
    coll := OrderedCollection new.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   120
    coll add:true.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   121
    coll add:'hallo'.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   122
    coll add:#symbol.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   123
    coll add:(r:= #[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23]).
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   124
    coll add:#symbol.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   125
    coll add:r.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   126
    coll add:coll copy.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   127
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   128
    decodedObject := self encodeAndDecode:coll.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   129
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   130
    self should:(decodedObject at:4) == (decodedObject at:6).
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   131
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   132
    "
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   133
     self run:#testComplex
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   134
    "
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   135
!
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   136
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   137
testDictionary
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   138
    "test encoding an decoding of an integer"
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   139
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   140
    |dict|
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   141
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   142
    dict := Dictionary new.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   143
    dict at:true put:1234.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   144
    dict at:#murks put:'hallo'.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   145
    dict at:5 put:#symbol.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   146
        
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   147
    self encodeAndDecode:dict
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   148
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   149
    "
164
fcc68d8814ad *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 163
diff changeset
   150
     self run:#testDictionary
fcc68d8814ad *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 163
diff changeset
   151
    "
fcc68d8814ad *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 163
diff changeset
   152
!
fcc68d8814ad *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 163
diff changeset
   153
fcc68d8814ad *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 163
diff changeset
   154
testEmptyCollection
fcc68d8814ad *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 163
diff changeset
   155
    "test encoding an decoding of an OrderedCollection"
fcc68d8814ad *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 163
diff changeset
   156
fcc68d8814ad *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 163
diff changeset
   157
    |set|
fcc68d8814ad *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 163
diff changeset
   158
fcc68d8814ad *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 163
diff changeset
   159
    set := OrderedCollection new.
fcc68d8814ad *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 163
diff changeset
   160
fcc68d8814ad *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 163
diff changeset
   161
    self encodeAndDecode:set
fcc68d8814ad *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 163
diff changeset
   162
fcc68d8814ad *** empty log message ***
Stefan Vogel <sv@exept.de>
parents: 163
diff changeset
   163
    "
163
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   164
     self run:#testEmptyCollection
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   165
    "
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   166
!
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   167
217
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   168
testFloat
163
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   169
    "test encoding an decoding of an integer"
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   170
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   171
    -1.0 to: 1.0 by:0.5 do:[:i|
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   172
        self encodeAndDecode:i
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   173
    ].
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   174
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   175
    "
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   176
     self run:#testFloat
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   177
    "
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   178
!
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   179
217
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   180
testFraction
163
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   181
    "test encoding an decoding of an integer"
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   182
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   183
    (-3/4) to:(3/4) by:(1/4) do:[:i|
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   184
        self encodeAndDecode:i
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   185
    ].
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   186
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   187
    "
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   188
     self run:#testFraction
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   189
    "
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   190
!
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   191
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   192
testIdentityDictionary
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   193
    "test encoding an decoding of an integer"
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   194
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   195
    |dict|
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   196
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   197
    dict := IdentityDictionary new.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   198
    dict at:true put:1234.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   199
    dict at:#test put:'hallo'.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   200
    dict at:5 put:#symbol.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   201
        
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   202
    self encodeAndDecode:dict
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   203
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   204
    "
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   205
     self run:#testIdentityDictionary
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   206
    "
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   207
!
218
b21391af6f68 removed container
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   208
b21391af6f68 removed container
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   209
testInteger
b21391af6f68 removed container
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   210
    "test encoding an decoding of an integer"
163
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   211
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   212
    -100 to: 100 do:[:i|
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   213
        self encodeAndDecode:i
218
b21391af6f68 removed container
Claus Gittinger <cg@exept.de>
parents: 217
diff changeset
   214
    ].
163
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   215
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   216
    "
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   217
     self run:#test1
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   218
    "
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   219
!
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   220
166
79ff0709dccb #encodeInterval
Stefan Vogel <sv@exept.de>
parents: 165
diff changeset
   221
testInterval
79ff0709dccb #encodeInterval
Stefan Vogel <sv@exept.de>
parents: 165
diff changeset
   222
    "test encoding an decoding of a set"
79ff0709dccb #encodeInterval
Stefan Vogel <sv@exept.de>
parents: 165
diff changeset
   223
79ff0709dccb #encodeInterval
Stefan Vogel <sv@exept.de>
parents: 165
diff changeset
   224
    |interval|
79ff0709dccb #encodeInterval
Stefan Vogel <sv@exept.de>
parents: 165
diff changeset
   225
79ff0709dccb #encodeInterval
Stefan Vogel <sv@exept.de>
parents: 165
diff changeset
   226
    interval := Interval from:1 to:100.
79ff0709dccb #encodeInterval
Stefan Vogel <sv@exept.de>
parents: 165
diff changeset
   227
79ff0709dccb #encodeInterval
Stefan Vogel <sv@exept.de>
parents: 165
diff changeset
   228
    self encodeAndDecode:interval
79ff0709dccb #encodeInterval
Stefan Vogel <sv@exept.de>
parents: 165
diff changeset
   229
79ff0709dccb #encodeInterval
Stefan Vogel <sv@exept.de>
parents: 165
diff changeset
   230
    "
79ff0709dccb #encodeInterval
Stefan Vogel <sv@exept.de>
parents: 165
diff changeset
   231
     self run:#testInterval
79ff0709dccb #encodeInterval
Stefan Vogel <sv@exept.de>
parents: 165
diff changeset
   232
    "
79ff0709dccb #encodeInterval
Stefan Vogel <sv@exept.de>
parents: 165
diff changeset
   233
!
79ff0709dccb #encodeInterval
Stefan Vogel <sv@exept.de>
parents: 165
diff changeset
   234
217
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   235
testLargeInteger
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   236
    "test encoding an decoding of an integer"
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   237
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   238
    #( 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   239
       16r1FFFFFFF 16r20000000 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   240
       16r3FFFFFFF 16r40000000 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   241
       16r7FFFFFFF 16r80000000 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   242
       16rFFFFFFFF 16r100000000 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   243
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   244
       16r1FFFFFFFF 16r200000000 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   245
       16r3FFFFFFFF 16r400000000 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   246
       16r7FFFFFFFF 16r800000000 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   247
       16rFFFFFFFFF 16r1000000000 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   248
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   249
       16r1FFFFFFFFF 16r2000000000 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   250
       16r3FFFFFFFFF 16r4000000000 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   251
       16r7FFFFFFFFF 16r8000000000 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   252
       16rFFFFFFFFFF 16r10000000000 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   253
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   254
       16r1FFFFFFFFFF 16r20000000000 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   255
       16r3FFFFFFFFFF 16r40000000000 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   256
       16r7FFFFFFFFFF 16r80000000000 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   257
       16rFFFFFFFFFFF 16r100000000000 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   258
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   259
       16r1FFFFFFFFFFF 16r200000000000 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   260
       16r3FFFFFFFFFFF 16r400000000000 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   261
       16r7FFFFFFFFFFF 16r800000000000 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   262
       16rFFFFFFFFFFFF 16r1000000000000 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   263
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   264
       16r1FFFFFFFFFFFFFF 16r200000000000000 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   265
       16r3FFFFFFFFFFFFFF 16r400000000000000 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   266
       16r7FFFFFFFFFFFFFF 16r800000000000000 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   267
       16rFFFFFFFFFFFFFFF 16r1000000000000000 
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   268
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   269
    ) do:[:i|
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   270
        self encodeAndDecode:i.
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   271
        self encodeAndDecode:i negated.
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   272
    ].
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   273
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   274
    "
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   275
     self run:#testLargeInteger
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   276
     self basicNew testLargeInteger
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   277
    "
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   278
!
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   279
163
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   280
testOrderedCollection
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   281
    "test encoding an decoding of an OrderedCollection"
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   282
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   283
    |set|
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   284
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   285
    set := OrderedCollection new.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   286
    set add:true.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   287
    set add:'hallo'.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   288
    set add:#symbol.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   289
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   290
    self encodeAndDecode:set
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   291
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   292
    "
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   293
     self run:#testOrderedCollection
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   294
    "
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   295
!
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   296
217
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   297
testPoint
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   298
    "test encoding an decoding of a point"
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   299
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   300
    -4 to:4 do:[:x |
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   301
        -4 to:4 do:[:y |
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   302
            self encodeAndDecode:(x @ y)
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   303
        ]
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   304
    ].
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   305
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   306
    "
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   307
     self run:#testPoint
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   308
    "
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   309
!
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   310
163
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   311
testSet
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   312
    "test encoding an decoding of a set"
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   313
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   314
    |set|
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   315
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   316
    set := Set new.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   317
    set add:true.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   318
    set add:'hallo'.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   319
    set add:#symbol.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   320
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   321
    self encodeAndDecode:set
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   322
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   323
    "
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   324
     self run:#testSet
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   325
    "
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   326
!
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   327
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   328
testString
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   329
    "test encoding an decoding of a String"
165
b9dba6743d09 Test tabs in strings
Stefan Vogel <sv@exept.de>
parents: 164
diff changeset
   330
217
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   331
    self encodeAndDecode:'hello world'.
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   332
    self encodeAndDecode:'hello world üö#*ß'.
165
b9dba6743d09 Test tabs in strings
Stefan Vogel <sv@exept.de>
parents: 164
diff changeset
   333
    self encodeAndDecode:Character tab asString , 'with', 
217
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   334
                         Character tab asString, Character tab asString, 'tabs',
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   335
                         Character tab asString.
163
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   336
    self encodeAndDecode:Character tab asString , '& with', 
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   337
                         Character tab asString, Character tab asString, 'tabs',
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   338
                         Character tab asString.
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   339
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   340
    "
208
4db1efdbce2e Test UUID coding
Stefan Vogel <sv@exept.de>
parents: 166
diff changeset
   341
     self run:#testString
4db1efdbce2e Test UUID coding
Stefan Vogel <sv@exept.de>
parents: 166
diff changeset
   342
    "
4db1efdbce2e Test UUID coding
Stefan Vogel <sv@exept.de>
parents: 166
diff changeset
   343
!
4db1efdbce2e Test UUID coding
Stefan Vogel <sv@exept.de>
parents: 166
diff changeset
   344
4db1efdbce2e Test UUID coding
Stefan Vogel <sv@exept.de>
parents: 166
diff changeset
   345
testUUID
4db1efdbce2e Test UUID coding
Stefan Vogel <sv@exept.de>
parents: 166
diff changeset
   346
    "test encoding an decoding of an ByteArray"
4db1efdbce2e Test UUID coding
Stefan Vogel <sv@exept.de>
parents: 166
diff changeset
   347
4db1efdbce2e Test UUID coding
Stefan Vogel <sv@exept.de>
parents: 166
diff changeset
   348
    self encodeAndDecode:UUID genUUID.
4db1efdbce2e Test UUID coding
Stefan Vogel <sv@exept.de>
parents: 166
diff changeset
   349
4db1efdbce2e Test UUID coding
Stefan Vogel <sv@exept.de>
parents: 166
diff changeset
   350
    "
163
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   351
     self run:#testUUID
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   352
    "
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   353
! !
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   354
217
f56519905d1d *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   355
!XMLCoderTests class methodsFor:'documentation'!
163
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   356
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   357
version
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   358
    ^ '$Header$'
fa9f1ff26607 initial checkin
Stefan Vogel <sv@exept.de>
parents:
diff changeset
   359
! !