@@ -7,6 +7,15 @@ import Native.Array
7import ElmTest.Assertion (..)
7import ElmTest.Assertion (..)
8import ElmTest.Test (..)
8import ElmTest.Test (..)
10+mergeSplit : Int -> Array.Array a -> Array.Array a
12+ let left = Array.slice 0 n arr
13+ right = Array.slice n (Array.length arr) arr
14+ in Array.append left right
16+holeArray : Array.Array Int
17+holeArray = foldl mergeSplit (Array.fromList [0..100]) [0..100]
10tests : Test
19tests : Test
12 let creationTests = suite "Creation"
21 let creationTests = suite "Creation"
@@ -28,6 +37,7 @@ tests =
28 , test "append" <| assertEqual [42,42,81,81,81] (Array.toList (Array.append (Array.repeat 2 42) (Array.repeat 3 81)))
37 , test "append" <| assertEqual [42,42,81,81,81] (Array.toList (Array.append (Array.repeat 2 42) (Array.repeat 3 81)))
29 , test "appendEmpty 1" <| assertEqual [1..33] (Array.toList (Array.append Array.empty (Array.fromList [1..33])))
38 , test "appendEmpty 1" <| assertEqual [1..33] (Array.toList (Array.append Array.empty (Array.fromList [1..33])))
30 , test "appendEmpty 2" <| assertEqual [1..33] (Array.toList (Array.append (Array.fromList [1..33]) Array.empty))
39 , 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)
32 getAndSetTests = suite "Get and Set"
42 getAndSetTests = suite "Get and Set"
33 [ test "get" <| assertEqual (Just 2) (Array.get 1 (Array.fromList [3,2,1]))
43 [ test "get" <| assertEqual (Just 2) (Array.get 1 (Array.fromList [3,2,1]))