@@ -3,36 +3,47 @@ Code.require_file "../fixtures/calendar/julian.exs", __DIR__
3
3
4
4
defmodule Date.RangeTest do
5
5
use ExUnit.Case , async: true
6
- doctest Date.Range
7
6
8
- setup do
9
- { :ok , range: Date . range ( ~D[ 2000-01-01] , ~D[ 2001-01-01] ) }
10
- end
7
+ @ asc_range Date . range ( ~D[ 2000-01-01] , ~D[ 2001-01-01] )
8
+ @ desc_range Date . range ( ~D[ 2001-01-01] , ~D[ 2000-01-01] )
11
9
12
10
describe "Enum.member?/2" do
13
- test "for ascending range" , % { range: range } do
14
- assert Enum . member? ( range , ~D[ 2000-02-22] )
15
- refute Enum . member? ( range , ~D[ 2002-01-01] )
11
+ test "for ascending range" do
12
+ assert Enum . member? ( @ asc_range , ~D[ 2000-02-22] )
13
+ assert Enum . member? ( @ asc_range , ~D[ 2000-01-01] )
14
+ assert Enum . member? ( @ asc_range , ~D[ 2001-01-01] )
15
+ refute Enum . member? ( @ asc_range , ~D[ 2002-01-01] )
16
+ refute Enum . member? ( @ asc_range , Calendar.Julian . date ( 1999 , 12 , 19 ) )
16
17
end
17
18
18
- test "for descending range" , % { range: range } do
19
- assert Enum . member? ( range , ~D[ 2000-02-22] )
20
- refute Enum . member? ( range , ~D[ 1999-01-01] )
19
+ test "for descending range" do
20
+ assert Enum . member? ( @ desc_range , ~D[ 2000-02-22] )
21
+ assert Enum . member? ( @ desc_range , ~D[ 2000-01-01] )
22
+ assert Enum . member? ( @ desc_range , ~D[ 2001-01-01] )
23
+ refute Enum . member? ( @ desc_range , ~D[ 1999-01-01] )
24
+ refute Enum . member? ( @ asc_range , Calendar.Julian . date ( 1999 , 12 , 19 ) )
21
25
end
22
26
end
23
27
24
28
describe "Enum.count/1" do
25
- test "counts days in range" , % { range: range } do
26
- assert Enum . count ( range ) == 367
29
+ test "for ascending range" do
30
+ assert Enum . count ( @ asc_range ) == 367
31
+ end
32
+
33
+ test "for descending range" do
34
+ assert Enum . count ( @ desc_range ) == 367
27
35
end
28
36
end
29
37
30
38
describe "Enum.reduce/3" do
31
- test "acts as a normal reduce " do
39
+ test "for ascending range " do
32
40
range = Date . range ( ~D[ 2000-01-01] , ~D[ 2000-01-03] )
33
- fun = fn ( date , acc ) -> acc ++ [ date ] end
41
+ assert Enum . to_list ( range ) == [ ~D[ 2000-01-01] , ~D[ 2000-01-02] , ~D[ 2000-01-03] ]
42
+ end
34
43
35
- assert Enum . reduce ( range , [ ] , fun ) == [ ~D[ 2000-01-01] , ~D[ 2000-01-02] , ~D[ 2000-01-03] ]
44
+ test "for descending range" do
45
+ range = Date . range ( ~D[ 2000-01-03] , ~D[ 2000-01-01] )
46
+ assert Enum . to_list ( range ) == [ ~D[ 2000-01-03] , ~D[ 2000-01-02] , ~D[ 2000-01-01] ]
36
47
end
37
48
end
38
49
@@ -46,9 +57,12 @@ defmodule Date.RangeTest do
46
57
end
47
58
48
59
test "accepts equal but not Calendar.ISO calendars" do
49
- first = Calendar.Julian . date ( 2001 , 01 , 01 )
50
- last = Calendar.Julian . date ( 2000 , 01 , 01 )
51
-
52
- assert Date . range ( first , last )
60
+ first = Calendar.Julian . date ( 2000 , 01 , 01 )
61
+ last = Calendar.Julian . date ( 2001 , 01 , 01 )
62
+ range = Date . range ( first , last )
63
+ assert range
64
+ assert first in range
65
+ assert last in range
66
+ assert Enum . count ( range ) == 367
53
67
end
54
68
end
0 commit comments