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