@@ -52,6 +52,8 @@ defmodule EnumTest.List do
5252 assert Enum . at ( [ 2 , 4 , 6 ] , 2 ) == 6
5353 assert Enum . at ( [ 2 , 4 , 6 ] , 4 ) == nil
5454 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
5557 end
5658
5759 test :concat_1 do
@@ -78,9 +80,15 @@ defmodule EnumTest.List do
7880 test :fetch! do
7981 assert Enum . fetch! ( [ 2 , 4 , 6 ] , 0 ) == 2
8082 assert Enum . fetch! ( [ 2 , 4 , 6 ] , 2 ) == 6
83+ assert Enum . fetch! ( [ 2 , 4 , 6 ] , - 2 ) == 4
84+
8185 assert_raise Enum.OutOfBoundsError , fn ->
8286 Enum . fetch! ( [ 2 , 4 , 6 ] , 4 )
8387 end
88+
89+ assert_raise Enum.OutOfBoundsError , fn ->
90+ Enum . fetch! ( [ 2 , 4 , 6 ] , - 4 )
91+ end
8492 end
8593
8694 test :drop do
@@ -129,6 +137,8 @@ defmodule EnumTest.List do
129137 assert Enum . fetch ( [ 2 , 4 , 6 ] , 0 ) == { :ok , 2 }
130138 assert Enum . fetch ( [ 2 , 4 , 6 ] , 2 ) == { :ok , 6 }
131139 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
132142 end
133143
134144 test :first do
@@ -379,6 +389,8 @@ defmodule EnumTest.Range do
379389 test :fetch! do
380390 assert Enum . fetch! ( 2 .. 6 , 0 ) == 2
381391 assert Enum . fetch! ( 2 .. 6 , 4 ) == 6
392+ assert Enum . fetch! ( 2 .. 6 , - 1 ) == 6
393+ assert Enum . fetch! ( 2 .. 6 , - 2 ) == 5
382394 assert Enum . fetch! ( - 2 .. - 6 , 0 ) == - 2
383395 assert Enum . fetch! ( - 2 .. - 6 , 4 ) == - 6
384396
@@ -389,6 +401,10 @@ defmodule EnumTest.Range do
389401 assert_raise Enum.OutOfBoundsError , fn ->
390402 assert Enum . fetch! ( - 2 .. - 6 , 8 )
391403 end
404+
405+ assert_raise Enum.OutOfBoundsError , fn ->
406+ assert Enum . fetch! ( 2 .. 6 , - 8 )
407+ end
392408 end
393409
394410 test :count do
0 commit comments