class: RegressionTests::CollectionTests
added: #testSpecialArrayClasses
changed:
#protoCollectionFor:
#testSequentialCollectionOperations
more checks for special array classes
--- 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'!