RegressionTests__EncoderTests.st
author Claus Gittinger <cg@exept.de>
Tue, 09 Jul 2019 18:53:03 +0200
changeset 2327 bf482d49aeaf
parent 2038 358eea14f4dc
permissions -rw-r--r--
#QUALITY by exept class: RegressionTests::StringTests added: #test82c_expanding

"{ Encoding: utf8 }"

"{ Package: 'stx:goodies/regression' }"

"{ NameSpace: RegressionTests }"

TestCase subclass:#EncoderTests
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'tests-Regression-Collections'
!


!EncoderTests class methodsFor:'queries'!

coveredClassNames
    ^ #( Base64Coder Base32Coder )

    "Modified: / 26-08-2017 / 12:38:14 / cg"
! !

!EncoderTests methodsFor:'testing'!

test01_base64
    |verbose|

    verbose := false.

   0 to:80 do:[:l |
        |coder decoder data encoding decoded decoded2|

        data := (0 to:l) asByteArray copyTo:l.
        coder := Base64Coder on:'' writeStream.
        coder nextPutAll:data.
        coder flush.

        encoding := coder contents.

        decoder := Base64Coder on:encoding readStream.
        decoded := decoder upToEnd.

        verbose ifTrue:[
            Transcript showCR:(data printString).
            Transcript show:' -> '; showCR:encoding.
            Transcript show:' ---> '; showCR:(decoded printString).
        ].
        
        self assert:(data = decoded).

        decoded2 := Base64Coder decode:encoding.

        verbose ifTrue:[
            Transcript showCR:(data printString).
            Transcript show:' -> '; showCR:encoding.
            Transcript show:' ---> '; showCR:(decoded2 printString).
        ].

        self assert:(data = decoded2).
   ].

    "
     self new test01_base64
    "

    "Created: / 26-08-2017 / 12:38:40 / cg"
    "Modified: / 30-09-2018 / 17:02:02 / Claus Gittinger"
!

test11_base32
    |verbose|

    verbose := false.
    
    0 to:80 do:[:l |
        |coder decoder data encoding decoded|

        data := (0 to:l) asByteArray copyTo:l.
        coder := Base32Coder on:'' writeStream.
        coder nextPutAll:data.
        coder flush.

        encoding := coder contents.

        decoder := Base32Coder on:encoding readStream.
        decoded := decoder upToEnd.

        verbose ifTrue:[
            Transcript showCR:(data printString).
            Transcript show:' -> '; showCR:encoding.
            Transcript show:' ---> '; showCR:(decoded printString).
        ].
        self assert:(data = decoded).
    ].

    "
     self new test11_base32
    "

    "Created: / 26-08-2017 / 12:38:59 / cg"
! !

!EncoderTests class methodsFor:'documentation'!

version
    ^ '$Header$'
!

version_CVS
    ^ '$Header$'
! !