RegressionTests__CharacterEncoderTests.st
author Claus Gittinger <cg@exept.de>
Wed, 11 Feb 2004 13:09:55 +0100
changeset 229 de65129066f8
child 230 4cfe3e0aa415
permissions -rw-r--r--
initial checkin

"{ 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$'
! !