@@ -7,6 +7,15 @@ import Native.Array
77import ElmTest.Assertion (..)
88import ElmTest.Test (..)
99
10+mergeSplit : Int -> Array.Array a -> Array.Array a
11+mergeSplit n arr =
12+ let left = Array.slice 0 n arr
13+ right = Array.slice n (Array.length arr) arr
14+ in Array.append left right
15+
16+holeArray : Array.Array Int
17+holeArray = foldl mergeSplit (Array.fromList [0..100]) [0..100]
18+
1019tests : Test
1120tests =
1221 let creationTests = suite "Creation"
@@ -28,6 +37,7 @@ tests =
2837 , test "append" <| assertEqual [42,42,81,81,81] (Array.toList (Array.append (Array.repeat 2 42) (Array.repeat 3 81)))
2938 , test "appendEmpty 1" <| assertEqual [1..33] (Array.toList (Array.append Array.empty (Array.fromList [1..33])))
3039 , test "appendEmpty 2" <| assertEqual [1..33] (Array.toList (Array.append (Array.fromList [1..33]) Array.empty))
40+ , test "appendAndSlice" <| assertEqual [0..100] (Array.toList holeArray)
3141 ]
3242 getAndSetTests = suite "Get and Set"
3343 [ test "get" <| assertEqual (Just 2) (Array.get 1 (Array.fromList [3,2,1]))