class: RegressionTests::CollectionTests
authorClaus Gittinger <cg@exept.de>
Tue, 04 Feb 2014 20:24:09 +0100
changeset 1040 35d20906f91c
parent 1039 f57e739387f5
child 1041 6692cfae6a25
class: RegressionTests::CollectionTests added: #testSpecialArrayClasses changed: #protoCollectionFor: #testSequentialCollectionOperations more checks for special array classes
RegressionTests__CollectionTests.st
--- a/RegressionTests__CollectionTests.st	Sat Jan 25 22:34:57 2014 +0100
+++ b/RegressionTests__CollectionTests.st	Tue Feb 04 20:24:09 2014 +0100
@@ -267,16 +267,27 @@
 
 protoCollectionFor: aClass
     aClass == BooleanArray ifTrue: [
-        ^ 'true false true true false false true false false true'
+        ^ BooleanArray withAll:#(true false true true false false true false false true)
     ].
     aClass == BitArray ifTrue: [
-        ^ '1 0 1 1 0 0 1 0 0 1'
+        ^ BitArray withAll:#(1 0 1 1 0 0 1 0 0 1)
+    ].
+    aClass == ByteArray ifTrue: [
+        ^ ByteArray withAll:#(1 2 3 4 16rFC 16rFD 16rFE 16rFF)
     ].
     aClass == String ifTrue: [
         ^ 'abcdefghijklmnopqrstuvwxyz'
     ].
-
-    ^ 'abcdefghijklmnopqrstuvwxyz' as: aClass         
+    (aClass includesBehavior:CharacterArray) ifTrue:[
+        ^ 'abcdefghijklmnopqrstuvwxyz' as: aClass         
+    ].
+    (aClass includesBehavior:AbstractNumberVector) ifTrue:[   
+        (aClass includesBehavior:UnboxedIntegerArray) ifTrue:[   
+            ^ #(1 2 3 4 5 6 7 8 9 10) as: aClass         
+        ].
+        ^ #(1.0 2 3.0 4 5.0 6 7.0 8 9.0 10) as: aClass         
+    ].
+    ^ #(1 true 2.0 false 3 nil 4.0 5 6.0 7 8.0 9 10.0) as: aClass         
 
     "
      self basicNew testSequentialCollectionOperations
@@ -377,8 +388,18 @@
         add:Array;
         add:String;
         add:ByteArray;
+        add:WordArray;
+        add:IntegerArray;
+        add:LongIntegerArray;
+        add:SignedWordArray;
+        add:SignedIntegerArray;
+        add:SignedLongIntegerArray;
+        add:FloatArray;
+        add:DoubleArray;
+        add:HalfFloatArray;
         add:TwoByteString;
-        add:UnicodeString;
+        add:Unicode16String;
+        add:Unicode32String;
         add:BooleanArray;
         add:BitArray.
 
@@ -391,6 +412,34 @@
     "
 
     "Created: / 08-05-2012 / 10:48:40 / cg"
+!
+
+testSpecialArrayClasses
+    |a|
+
+    a := #(1 2 3 4 5) asWordArray.
+    self assert:(a at:1) == 1.
+    self assert:(a at:a size) == 5.
+    self assert:(a first) == 1.
+    self assert:(a last) == 5.
+
+    a := #(1 2 3 4 5) asIntegerArray.
+    self assert:(a at:1) == 1.
+    self assert:(a at:a size) == 5.
+    self assert:(a first) == 1.
+    self assert:(a last) == 5.
+
+    a := #(1 2 3 4 5) asLongIntegerArray.
+    self assert:(a at:1) == 1.
+    self assert:(a at:a size) == 5.
+    self assert:(a first) == 1.
+    self assert:(a last) == 5.
+
+    "
+     self basicNew testSpecialArrayClasses
+    "
+
+    "Created: / 08-05-2012 / 10:48:40 / cg"
 ! !
 
 !CollectionTests methodsFor:'tests-interval'!