--- a/RegressionTests__CRCTests.st Sun Mar 24 13:28:53 2019 +0100
+++ b/RegressionTests__CRCTests.st Sun Mar 24 20:57:57 2019 +0100
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
"{ Package: 'stx:goodies/regression' }"
"{ NameSpace: RegressionTests }"
@@ -65,41 +67,104 @@
!
test03_crc16
- "the default ccitt crc16"
+ "the crc16 variants"
- self skipIf:true description:'fails, in order of cg skip'.
+ self skipIf:true description:'fails, by order of cg - skip'.
+
+ "/ 1..9 testVector from
+ "/ https://www.lammertbies.nl/comm/info/crc-calculation.html
CRC16Stream flushCrcTables.
"/ CRCStream flushCrcTables.
"/ CRC32Stream flushCrcTables.
self assert:(CRC16Stream newKERMIT hashValueOf:'') = 0.
self assert:(CRC16Stream newKERMIT hashValueOf:'a') = 16r8F72.
+ self assert:(CRC16Stream newKERMIT hashValueOf:'abc') = 16rE958.
self assert:(CRC16Stream newKERMIT hashValueOf:' ') = 16r0221.
self assert:(CRC16Stream newKERMIT hashValueOf:'123456789') = 16r8921.
+ self assert:(CRC16Stream newKERMIT hashValueOf:'Lammert Bies') = 16rF80D.
+ self assert:(CRC16Stream newKERMIT hashValueOf:#[16r06 16r00 16r0c 16rf0 16r00 16r04 16r00 16r55 16r88 16r73 16rc9 16r00 16r00 16r05 16r21]
+ ) = 16r2098.
self assert:(CRC16Stream newDNP hashValueOf:'') = 16rFFFF.
self assert:(CRC16Stream newDNP hashValueOf:'a') = 16r50B3.
+ self assert:(CRC16Stream newDNP hashValueOf:'abc') = 16r57E9.
self assert:(CRC16Stream newDNP hashValueOf:' ') = 16r50D6.
self assert:(CRC16Stream newDNP hashValueOf:'123456789') = 16r82EA.
+ self assert:(CRC16Stream newDNP hashValueOf:'Lammert Bies') = 16r4583.
+ self assert:(CRC16Stream newDNP hashValueOf:#[16r06 16r00 16r0c 16rf0 16r00 16r04 16r00 16r55 16r88 16r73 16rc9 16r00 16r00 16r05 16r21]
+ ) = 16r7482.
- self assert:(CRC16Stream newMODBUS hashValueOf:'') = 0.
+ self assert:(CRC16Stream newMODBUS hashValueOf:'') = 16rFFFF.
self assert:(CRC16Stream newMODBUS hashValueOf:'a') = 16rA87E.
+ self assert:(CRC16Stream newMODBUS hashValueOf:'abc') = 16r5749.
self assert:(CRC16Stream newMODBUS hashValueOf:' ') = 16r98BE.
self assert:(CRC16Stream newMODBUS hashValueOf:'123456789') = 16r4B37.
+ self assert:(CRC16Stream newMODBUS hashValueOf:'Lammert Bies') = 16rB45C.
+ self assert:(CRC16Stream newMODBUS hashValueOf:#[16r06 16r00 16r0c 16rf0 16r00 16r04 16r00 16r55 16r88 16r73 16rc9 16r00 16r00 16r05 16r21]
+ ) = 16rF50C.
+
+ self assert:(CRC16Stream newXMODEM hashValueOf:'') = 0.
+ self assert:(CRC16Stream newXMODEM hashValueOf:'a') = 16r7C87.
+ self assert:(CRC16Stream newXMODEM hashValueOf:'abc') = 16r9dd6.
+ self assert:(CRC16Stream newXMODEM hashValueOf:' ') = 16r2462.
+ self assert:(CRC16Stream newXMODEM hashValueOf:'123456789') = 16r31C3.
+ self assert:(CRC16Stream newXMODEM hashValueOf:'Lammert Bies') = 16rCEC8.
+ self assert:(CRC16Stream newXMODEM hashValueOf:#[16r06 16r00 16r0c 16rf0 16r00 16r04 16r00 16r55 16r88 16r73 16rc9 16r00 16r00 16r05 16r21]
+ ) = 16r3B38.
self assert:(CRC16Stream newCRC_16 hashValueOf:'') = 0.
- self assert:(CRC16Stream newCRC_16 hashValueOf:'a') = 16r50B3.
- self assert:(CRC16Stream newCRC_16 hashValueOf:' ') = 16r50D6.
- self assert:(CRC16Stream newCRC_16 hashValueOf:'123456789') = 16rBB3d.
+ self assert:(CRC16Stream newCRC_16 hashValueOf:'a') = 16rE8C1.
+ self assert:(CRC16Stream newCRC_16 hashValueOf:'abc') = 16r9738.
+ self assert:(CRC16Stream newCRC_16 hashValueOf:' ') = 16rD801.
+ self assert:(CRC16Stream newCRC_16 hashValueOf:'123456789') = 16rBB3D.
+ self assert:(CRC16Stream newCRC_16 hashValueOf:'Lammert Bies') = 16rB638.
+ self assert:(CRC16Stream newCRC_16 hashValueOf:#[16r06 16r00 16r0c 16rf0 16r00 16r04 16r00 16r55 16r88 16r73 16rc9 16r00 16r00 16r05 16r21]
+ ) = 16r4A4C.
- self assert:(CRC16Stream newCCITT hashValueOf:'') = 0.
+ "/ CCITT with 0xFFFF as start
+ self assert:(CRC16Stream newCCITT hashValueOf:'') = 16rFFFF.
self assert:(CRC16Stream newCCITT hashValueOf:'a') = 16r9D77.
+ self assert:(CRC16Stream newCCITT hashValueOf:'abc') = 16r514A.
self assert:(CRC16Stream newCCITT hashValueOf:' ') = 16rC592.
- self assert:(CRC16Stream newCCITT hashValueOf:'123456789') = 16r8921.
+ self assert:(CRC16Stream newCCITT hashValueOf:'123456789') = 16r29B1.
+ self assert:(CRC16Stream newCCITT hashValueOf:'Lammert Bies') = 16r4A31.
+ self assert:(CRC16Stream newCCITT hashValueOf:#[16r06 16r00 16r0c 16rf0 16r00 16r04 16r00 16r55 16r88 16r73 16rc9 16r00 16r00 16r05 16r21]
+ ) = 16r75FB.
+
+ "/ CCITT with 0x1D0F as start
+ self assert:(CRC16Stream newCCITT_1D0F hashValueOf:'') = 16r1D0F.
+ self assert:(CRC16Stream newCCITT_1D0F hashValueOf:'a') = 16rB01B.
+ self assert:(CRC16Stream newCCITT_1D0F hashValueOf:'abc') = 16r8CDA.
+ self assert:(CRC16Stream newCCITT_1D0F hashValueOf:' ') = 16rE8FE.
+ self assert:(CRC16Stream newCCITT_1D0F hashValueOf:'123456789') = 16rE5CC.
+ self assert:(CRC16Stream newCCITT_1D0F hashValueOf:'Lammert Bies') = 16r67A2.
+ self assert:(CRC16Stream newCCITT_1D0F hashValueOf:#[16r06 16r00 16r0c 16rf0 16r00 16r04 16r00 16r55 16r88 16r73 16rc9 16r00 16r00 16r05 16r21]
+ ) = 16rFCD4.
"Created: / 16-03-2019 / 23:40:26 / Claus Gittinger"
"Modified: / 19-03-2019 / 11:23:27 / Stefan Reise"
- "Modified: / 23-03-2019 / 11:47:40 / Claus Gittinger"
+ "Modified: / 24-03-2019 / 20:56:50 / Claus Gittinger"
+!
+
+test04_crc8
+ "the crc8 variants"
+
+ self skipIf:true description:'fails, by order of cg - skip'.
+
+ CRC8Stream flushCrcTables.
+
+ "/ test vectors from AUTOSAR_SWS_CRCLibrary.pdf
+ self assert:(CRC8Stream newSAE_J1850 hashValueOf:'') = 0.
+ self assert:(CRC8Stream newSAE_J1850 hashValueOf:#[0 0 0 0] ) = 16r59.
+ self assert:(CRC8Stream newSAE_J1850 hashValueOf:#[16rF2 16r01 16r83]) = 16r37.
+ self assert:(CRC8Stream newSAE_J1850 hashValueOf:#[16r0F 16rAA 16r99 16r55]) = 16r79.
+ self assert:(CRC8Stream newSAE_J1850 hashValueOf:#[16r00 16rFF 16r55 16r11]) = 16rB8.
+ self assert:(CRC8Stream newSAE_J1850 hashValueOf:#[16r33 16r22 16r55 16rAA 16rBB 16rCC 16rDD 16rEE 16rFF]) = 16rCB.
+ self assert:(CRC8Stream newSAE_J1850 hashValueOf:#[16r92 16r6B 16r55]) = 16r8C.
+ self assert:(CRC8Stream newSAE_J1850 hashValueOf:#[16rFF 16rFF 16rFF 16rFF]) = 16r74.
+
+ "Created: / 24-03-2019 / 12:03:54 / Claus Gittinger"
!
test99_speed