@@ -52,6 +52,8 @@ defmodule EnumTest.List do
52
52
assert Enum . at ( [ 2 , 4 , 6 ] , 2 ) == 6
53
53
assert Enum . at ( [ 2 , 4 , 6 ] , 4 ) == nil
54
54
assert Enum . at ( [ 2 , 4 , 6 ] , 4 , :none ) == :none
55
+ assert Enum . at ( [ 2 , 4 , 6 ] , - 2 ) == 4
56
+ assert Enum . at ( [ 2 , 4 , 6 ] , - 4 ) == nil
55
57
end
56
58
57
59
test :concat_1 do
@@ -78,9 +80,15 @@ defmodule EnumTest.List do
78
80
test :fetch! do
79
81
assert Enum . fetch! ( [ 2 , 4 , 6 ] , 0 ) == 2
80
82
assert Enum . fetch! ( [ 2 , 4 , 6 ] , 2 ) == 6
83
+ assert Enum . fetch! ( [ 2 , 4 , 6 ] , - 2 ) == 4
84
+
81
85
assert_raise Enum.OutOfBoundsError , fn ->
82
86
Enum . fetch! ( [ 2 , 4 , 6 ] , 4 )
83
87
end
88
+
89
+ assert_raise Enum.OutOfBoundsError , fn ->
90
+ Enum . fetch! ( [ 2 , 4 , 6 ] , - 4 )
91
+ end
84
92
end
85
93
86
94
test :drop do
@@ -129,6 +137,8 @@ defmodule EnumTest.List do
129
137
assert Enum . fetch ( [ 2 , 4 , 6 ] , 0 ) == { :ok , 2 }
130
138
assert Enum . fetch ( [ 2 , 4 , 6 ] , 2 ) == { :ok , 6 }
131
139
assert Enum . fetch ( [ 2 , 4 , 6 ] , 4 ) == :error
140
+ assert Enum . fetch ( [ 2 , 4 , 6 ] , - 2 ) == { :ok , 4 }
141
+ assert Enum . fetch ( [ 2 , 4 , 6 ] , - 4 ) == :error
132
142
end
133
143
134
144
test :first do
@@ -379,6 +389,8 @@ defmodule EnumTest.Range do
379
389
test :fetch! do
380
390
assert Enum . fetch! ( 2 .. 6 , 0 ) == 2
381
391
assert Enum . fetch! ( 2 .. 6 , 4 ) == 6
392
+ assert Enum . fetch! ( 2 .. 6 , - 1 ) == 6
393
+ assert Enum . fetch! ( 2 .. 6 , - 2 ) == 5
382
394
assert Enum . fetch! ( - 2 .. - 6 , 0 ) == - 2
383
395
assert Enum . fetch! ( - 2 .. - 6 , 4 ) == - 6
384
396
@@ -389,6 +401,10 @@ defmodule EnumTest.Range do
389
401
assert_raise Enum.OutOfBoundsError , fn ->
390
402
assert Enum . fetch! ( - 2 .. - 6 , 8 )
391
403
end
404
+
405
+ assert_raise Enum.OutOfBoundsError , fn ->
406
+ assert Enum . fetch! ( 2 .. 6 , - 8 )
407
+ end
392
408
end
393
409
394
410
test :count do
0 commit comments