RegressionTests__CollectionTests.st
changeset 1422 8e237a64a6f2
parent 1396 2d62a289b79e
child 1423 12f4039f6662
--- a/RegressionTests__CollectionTests.st	Sun May 08 02:22:20 2016 +0200
+++ b/RegressionTests__CollectionTests.st	Thu May 12 16:50:10 2016 +0200
@@ -774,6 +774,39 @@
          sorted := data copy heapSort:[:a :b| a < b].
          self checkSorted:sorted with:checkBlock against:data.
     ].
+!
+
+testOrderedCollection08_addBefore
+    |col|
+
+    col := #( 1 2 3 4 5 ) asOrderedCollection.
+    col add:0 beforeIndex:1.
+    self assert:(col asArray = #(0 1 2 3 4 5)).
+
+    col := OrderedCollection new.
+    col add:10.
+    col add:0 beforeIndex:1.
+    self assert:(col asArray = #(0 10)).
+    
+    col := OrderedCollection with:10.
+    col add:0 beforeIndex:1.
+    self assert:(col asArray = #(0 10)).
+
+    col := OrderedCollection new:1.
+    col add:10.
+    self assert:(col size == 1).
+    self assert:(col asArray = #(10)).
+    self assert:(col instVarNamed:'firstIndex') == 1.
+    self assert:(col instVarNamed:'lastIndex') == 1.
+
+    col add:0 beforeIndex:1.
+    self assert:(col size == 2).
+    self assert:(col instVarNamed:'firstIndex') == 1.
+    self assert:(col instVarNamed:'lastIndex') == 2.
+    self assert:(col asArray = #(0 10)).
+    "
+     self new testOrderedCollection08_addBefore  
+    "
 ! !
 
 !CollectionTests methodsFor:'tests-orderedDictionary'!
@@ -1201,6 +1234,35 @@
         ].
     ].
 
+    (Array with:Array OrderedCollection ByteArray WordArray IntegerArray)
+    do:[:cls |
+        a := cls withAll: #(10 20 30 40 50 60 70 80 90 100).
+
+        self assert:(a indexOf:110) == 0.
+        self assert:(a indexOf:10) == 1.
+        self assert:(a indexOf:20) == 2.
+        self assert:(a indexOf:30) == 3.
+        self assert:(a indexOf:40) == 4.
+        self assert:(a indexOf:50) == 5.
+        self assert:(a indexOf:60) == 6.
+        self assert:(a indexOf:70) == 7.
+        self assert:(a indexOf:80) == 8.
+        self assert:(a indexOf:90) == 9.
+        self assert:(a indexOf:100) == 10.
+
+        self assert:(a identityIndexOf:110) == 0.
+        self assert:(a identityIndexOf:10) == 1.
+        self assert:(a identityIndexOf:20) == 2.
+        self assert:(a identityIndexOf:30) == 3.
+        self assert:(a identityIndexOf:40) == 4.
+        self assert:(a identityIndexOf:50) == 5.
+        self assert:(a identityIndexOf:60) == 6.
+        self assert:(a identityIndexOf:70) == 7.
+        self assert:(a identityIndexOf:80) == 8.
+        self assert:(a identityIndexOf:90) == 9.
+        self assert:(a identityIndexOf:100) == 10.
+    ].
+
     "Created: / 07-10-2011 / 13:11:36 / cg"
 ! !