-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_due_date.rb
97 lines (81 loc) · 3.12 KB
/
test_due_date.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#!/bin/env ruby
# encoding: utf-8
require_relative 'due_date'
require 'test/unit'
class TestDueDate < Test::Unit::TestCase
def test_initialize
res = DueDate.new(Time.local(2016, 5, 6, 13, 3))
exp = Time.local(2016, 5, 6, 13, 3)
assert_equal(exp, res.time)
end
def test_add_minutes
res = DueDate.new(Time.local(2016, 5, 26, 12, 13)).add_time!('0:40').time
exp = Time.local(2016, 5, 26, 12, 53)
assert_equal(exp, res)
end
def test_add_hours
res = DueDate.new(Time.local(2017, 3, 9, 15, 40)).add_time!('1:00').time
exp = DueDate.new(Time.local(2017, 3, 9, 16, 40)).time
assert_equal(exp, res)
end
def test_add_a_work_day
res = DueDate.new(Time.local(2017, 3, 9, 15, 40)).add_time!('8:00').time
exp = DueDate.new(Time.local(2017, 3, 10, 15, 40)).time
assert_equal(exp, res)
end
def test_add_a_work_week
res = DueDate.new(Time.local(2017, 3, 9, 15, 40)).add_time!('40:00').time
exp = DueDate.new(Time.local(2017, 3, 16, 15, 40)).time
assert_equal(exp, res)
end
def test_hour_overflow_cause_of_the_minutes
res = DueDate.new(Time.local(2017, 3, 9, 15, 40)).add_time!('0:30').time
exp = DueDate.new(Time.local(2017, 3, 9, 16, 10)).time
assert_equal(exp, res)
end
def test_add_hours_and_minutes
res = DueDate.new(Time.local(2017, 3, 9, 15, 40)).add_time!('1:10').time
exp = DueDate.new(Time.local(2017, 3, 9, 16, 50)).time
assert_equal(exp, res)
end
def test_day_overflow_cause_of_the_minutes
res = DueDate.new(Time.local(2017, 3, 9, 16, 40)).add_time!('0:30').time
exp = DueDate.new(Time.local(2017, 3, 10, 9, 10)).time
assert_equal(exp, res)
end
def test_day_overflow_cause_of_the_hours
res = DueDate.new(Time.local(2017, 3, 9, 16, 40)).add_time!('1:00').time
exp = DueDate.new(Time.local(2017, 3, 10, 9, 40)).time
assert_equal(exp, res)
end
def test_day_overflow_cause_of_a_lot_of_hours
res = DueDate.new(Time.local(2017, 3, 6, 13, 40)).add_time!('11:00').time
exp = DueDate.new(Time.local(2017, 3, 7, 16, 40)).time
assert_equal(exp, res)
end
def test_add_two_week_of_hours
res = DueDate.new(Time.local(2017, 3, 9, 16, 40)).add_time!('80:00').time
exp = DueDate.new(Time.local(2017, 3, 23, 16, 40)).time
assert_equal(exp, res)
end
def test_add_two_week_of_hours_and_overflow_cause_of_the_minutes
res = DueDate.new(Time.local(2017, 3, 9, 16, 40)).add_time!('80:30').time
exp = DueDate.new(Time.local(2017, 3, 24, 9, 10)).time
assert_equal(exp, res)
end
def test_week_overflow_cause_of_the_hours
res = DueDate.new(Time.local(2017, 3, 10, 15, 0)).add_time!('3:00').time
exp = DueDate.new(Time.local(2017, 3, 13, 10, 0)).time
assert_equal(exp, res)
end
def test_daylight_saving_time_ending
res = DueDate.new(Time.local(2017, 3, 24, 15, 0)).add_time!('3:00').time
exp = DueDate.new(Time.local(2017, 3, 27, 10, 0)).time
assert_equal(exp, res)
end
def test_daylight_saving_time_starting
res = DueDate.new(Time.local(2017, 10, 27, 15, 0)).add_time!('3:00').time
exp = DueDate.new(Time.local(2017, 10, 30, 10, 0)).time
assert_equal(exp, res)
end
end