RegressionTests__CharacterEncoderTests.st
changeset 229 de65129066f8
child 230 4cfe3e0aa415
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/RegressionTests__CharacterEncoderTests.st	Wed Feb 11 13:09:55 2004 +0100
@@ -0,0 +1,123 @@
+"{ Package: 'exept:regression' }"
+
+TestCase subclass:#CharacterEncoderTests
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Collections-Text-Encodings'
+!
+
+!CharacterEncoderTests class methodsFor:'documentation'!
+
+documentation
+"
+    documentation to be added.
+
+    [author:]
+        Claus Gittinger (cg@alan)
+
+    [instance variables:]
+
+    [class variables:]
+
+    [see also:]
+
+"
+!
+
+history
+    "Created: / 11.2.2004 / 12:25:54 / cg"
+! !
+
+!CharacterEncoderTests methodsFor:'helpers'!
+
+xTestReversability:encoderClass
+    self xTestReversability:encoderClass skip:#()
+
+    "
+     self new xTestReversability: (CharacterEncoder::ISO8859_1)
+    "
+!
+
+xTestReversability:encoderClass skip:skippedCodes
+    |encoder|
+
+    encoder := encoderClass new.
+    0 to:255 do:[:code |
+        |unicode code2|
+
+        (skippedCodes includes:code) ifTrue:[
+            self should:[ encoder decode:code ] raise:CharacterEncoderError.
+        ] ifFalse:[
+            unicode := encoder decode:code.
+            code2 := encoder encode:unicode.
+            self assert:(code == code2).
+        ]
+    ].
+
+    "
+     self new xTestReversability: (CharacterEncoder::ISO8859_1)
+    "
+! !
+
+!CharacterEncoderTests methodsFor:'initialize / release'!
+
+setUp
+    "common setup - invoked before testing."
+
+    super setUp
+!
+
+tearDown
+    "common cleanup - invoked after testing."
+
+    super tearDown
+! !
+
+!CharacterEncoderTests methodsFor:'tests'!
+
+test1
+     self xTestReversability: (CharacterEncoder::ISO8859_1).
+     self xTestReversability: (CharacterEncoder::ISO8859_2).
+     self xTestReversability: (CharacterEncoder::ISO8859_3) skip:#( 16rA5 16rAE 16rBE 16rC3 16rD0 16rE3 16rF0 ).
+     self xTestReversability: (CharacterEncoder::ISO8859_4).
+     self xTestReversability: (CharacterEncoder::ISO8859_5).
+     self xTestReversability: (CharacterEncoder::ISO8859_6) skip:#(       16rA1 16rA2 16rA3       16rA5 16rA6 16rA7 
+                                                                    16rA8 16rA9 16rAA 16rAB             16rAE 16rAF
+                                                                    16rB0 16rB1 16rB2 16rB3 16rB4 16rB5 16rB6 16rB7 
+                                                                    16rB8 16rB9 16rBA       16rBC 16rBD 16rBE
+                                                                    16rC0  
+                                                                                      16rDB 16rDC 16rDD 16rDE 16rDF
+                                                                                      16rF3 16rF4 16rF5 16rF6 16rF7 
+                                                                    16rF8 16rF9 16rFA 16rFB 16rFC 16rFD 16rFE 16rFF
+                                                                  ).
+     self xTestReversability: (CharacterEncoder::ISO8859_7) skip:#( 16rAE 16rD2 16rFF ).
+     self xTestReversability: (CharacterEncoder::ISO8859_8) skip:#( 16rA1 16rBF 
+                                                                    16rC0 16rC1 16rC2 16rC3 16rC4 16rC5 16rC6 16rC7 
+                                                                    16rC8 16rC9 16rCA 16rCB 16rCC 16rCD 16rCE 16rCF
+                                                                    16rD0 16rD1 16rD2 16rD3 16rD4 16rD5 16rD6 16rD7 
+                                                                    16rD8 16rD9 16rDA 16rDB 16rDC 16rDD 16rDE 
+                                                                    16rFB 16rFC 16rFF
+                                                                  ).
+     self xTestReversability: (CharacterEncoder::ISO8859_9).
+     self xTestReversability: (CharacterEncoder::ISO8859_10).
+     self xTestReversability: (CharacterEncoder::ISO8859_11) skip:#( 16rDB 16rDC 16rDD 16rDE 16rFC 16rFD 16rFE 16rFF ).
+     self xTestReversability: (CharacterEncoder::ISO8859_13).
+     self xTestReversability: (CharacterEncoder::ISO8859_14).
+     self xTestReversability: (CharacterEncoder::ISO8859_15).
+     self xTestReversability: (CharacterEncoder::ISO8859_16).
+     self xTestReversability: (CharacterEncoder::KOI8_U).
+     self xTestReversability: (CharacterEncoder::KOI8_R).
+
+     self xTestReversability: (CharacterEncoder::GSM0338) skip:( 16r80 to: 16rFF).
+
+    "
+     self new test1
+    "
+! !
+
+!CharacterEncoderTests class methodsFor:'documentation'!
+
+version
+    ^ '$Header$'
+! !