RegressionTests__EncoderTests.st
changeset 1692 d5eccdfd4ac1
child 2038 358eea14f4dc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/RegressionTests__EncoderTests.st	Sat Aug 26 12:40:45 2017 +0200
@@ -0,0 +1,99 @@
+"{ 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|
+
+        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).
+   ].
+
+    "
+     self new test01_base64
+    "
+
+    "Created: / 26-08-2017 / 12:38:40 / cg"
+!
+
+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$'
+! !
+