on master help sign in
Add test to create an array with gaps in its structure
4a9739eChristian Widera
tests/libraries/Test/Array.elm+10
@@ -7,6 +7,15 @@ import Native.Array
7import ElmTest.Assertion (..)
7import ElmTest.Assertion (..)
8import ElmTest.Test (..)
8import ElmTest.Test (..)
9
9
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+
10tests : Test
19tests : Test
11tests =
20tests =
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)
31 ]
41 ]
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]))