@@ -105,6 +105,25 @@ let val tests = Unit.group "List" [
105105 , Unit.it "id [1,3]" (Unit.isEq [(0,1), (1,3)] (List.mapi id [1,3]))
106106 ]
107107 end,
108+ let fun sum (a,b) = a+b
109+ in Unit.group "foldl" [
110+ Unit.it "sums 0 []" (Unit.isEq 0 (List.foldl sum 0 []))
111+ , Unit.it "sums 2 []" (Unit.isEq 2 (List.foldl sum 2 []))
112+ , Unit.it "sums 0 [1]" (Unit.isEq 1 (List.foldl sum 0 [1]))
113+ , Unit.it "sums 0 [1,1]" (Unit.isEq 2 (List.foldl sum 0 [1,1]))
114+ , Unit.it "sums 0 [1,3]" (Unit.isEq 4 (List.foldl sum 0 [1,3]))
115+ , Unit.it "sums 2 [1,3]" (Unit.isEq 6 (List.foldl sum 2 [1,3]))
116+ ]
117+ end,
118+ let fun sum (a,b) = a+b
119+ in Unit.group "foldl1" [
120+ Unit.it "sums [0]" (Unit.isEq 0 (List.foldl1 sum [0]))
121+ , Unit.it "sums [1]" (Unit.isEq 1 (List.foldl1 sum [1]))
122+ , Unit.it "sums [2]" (Unit.isEq 2 (List.foldl1 sum [2]))
123+ , Unit.it "sums [1,1]" (Unit.isEq 2 (List.foldl1 sum [1,1]))
124+ , Unit.it "sums [1,3]" (Unit.isEq 4 (List.foldl1 sum [1,3]))
125+ ]
126+ end,
108127 let val xs = [0,1,2,3,4,5,6,7,8,9]
109128 fun isOdd x = (x mod 2) = 1
110129 fun isEven x = (x mod 2) = 0
0 commit comments