-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathHolidayJpTest.kt
More file actions
134 lines (114 loc) · 5.07 KB
/
Copy pathHolidayJpTest.kt
File metadata and controls
134 lines (114 loc) · 5.07 KB
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
package com.github.holidayjp.jdk8
import org.junit.Test
import java.time.*
import kotlin.test.assertFalse
import kotlin.test.assertTrue
/**
* Test for Holiday
* Created by pine on 2018/02/21.
*/
class HolidayJpTest {
@Test
fun testIsHolidayLocalDate() {
// should be holiday returns date is holiday or not
val date1 = LocalDate.of(2011, 9, 19)
val date2 = LocalDate.of(2011, 9, 18)
assertTrue(HolidayJp.isHoliday(date1))
assertFalse(HolidayJp.isHoliday(date2))
// should be Mountain Day from 2016
val date3 = LocalDate.of(2015, 8, 11)
assertFalse(HolidayJp.isHoliday(date3))
(2016..2050).forEach { i ->
if (i == 2020) { // Tokyo Olympic
val date4 = LocalDate.of(i, 8, 10)
assertTrue(HolidayJp.isHoliday(date4))
} else if (i == 2021) { // Tokyo Olympic 2021
val date4 = LocalDate.of(i, 7, 22)
assertTrue(HolidayJp.isHoliday(date4))
val date5 = LocalDate.of(i, 7, 23)
assertTrue(HolidayJp.isHoliday(date5))
val date6 = LocalDate.of(i, 8, 9)
assertTrue(HolidayJp.isHoliday(date6))
} else {
val date4 = LocalDate.of(i, 8, 11)
assertTrue(HolidayJp.isHoliday(date4))
}
}
}
@Test
fun testIsHolidayLocalDateTime() {
// should be holiday returns date is holiday or not
val date1 = LocalDateTime.of(2011, 9, 18, 23, 59, 59, 999999999)
val date2 = LocalDateTime.of(2011, 9, 19, 0, 0, 0, 0)
val date3 = LocalDateTime.of(2011, 9, 19, 0, 0, 0, 1)
val date4 = LocalDateTime.of(2011, 9, 19, 23, 59, 59, 999999999)
val date5 = LocalDateTime.of(2011, 9, 20, 0, 0, 0, 0)
assertFalse(HolidayJp.isHoliday(date1))
assertTrue(HolidayJp.isHoliday(date2))
assertTrue(HolidayJp.isHoliday(date3))
assertTrue(HolidayJp.isHoliday(date4))
assertFalse(HolidayJp.isHoliday(date5))
}
@Test
fun testIsHolidayZonedDateTime() {
// UTC
run {
val zoneId = ZoneId.of("UTC")
val date1 = ZonedDateTime.of(2011, 9, 18, 23, 59, 59, 999999999, zoneId)
val date2 = ZonedDateTime.of(2011, 9, 19, 0, 0, 0, 0, zoneId)
val date3 = ZonedDateTime.of(2011, 9, 19, 0, 0, 0, 1, zoneId)
val date4 = ZonedDateTime.of(2011, 9, 19, 23, 59, 59, 999999999, zoneId)
val date5 = ZonedDateTime.of(2011, 9, 20, 0, 0, 0, 0, zoneId)
assertFalse(HolidayJp.isHoliday(date1))
assertTrue(HolidayJp.isHoliday(date2))
assertTrue(HolidayJp.isHoliday(date3))
assertTrue(HolidayJp.isHoliday(date4))
assertFalse(HolidayJp.isHoliday(date5))
}
// Asia/Tokyo
run {
val zoneId = ZoneId.of("Asia/Tokyo")
val date1 = ZonedDateTime.of(2011, 9, 18, 23, 59, 59, 999999999, zoneId)
val date2 = ZonedDateTime.of(2011, 9, 19, 0, 0, 0, 0, zoneId)
val date3 = ZonedDateTime.of(2011, 9, 19, 0, 0, 0, 1, zoneId)
val date4 = ZonedDateTime.of(2011, 9, 19, 23, 59, 59, 999999999, zoneId)
val date5 = ZonedDateTime.of(2011, 9, 20, 0, 0, 0, 0, zoneId)
assertFalse(HolidayJp.isHoliday(date1))
assertTrue(HolidayJp.isHoliday(date2))
assertTrue(HolidayJp.isHoliday(date3))
assertTrue(HolidayJp.isHoliday(date4))
assertFalse(HolidayJp.isHoliday(date5))
}
}
@Test
fun testIsHolidayOffsetDateTime() {
// UTC
run {
val zoneOffset = ZoneOffset.UTC
val date1 = OffsetDateTime.of(2011, 9, 18, 23, 59, 59, 999999999, zoneOffset)
val date2 = OffsetDateTime.of(2011, 9, 19, 0, 0, 0, 0, zoneOffset)
val date3 = OffsetDateTime.of(2011, 9, 19, 0, 0, 0, 1, zoneOffset)
val date4 = OffsetDateTime.of(2011, 9, 19, 23, 59, 59, 999999999, zoneOffset)
val date5 = OffsetDateTime.of(2011, 9, 20, 0, 0, 0, 0, zoneOffset)
assertFalse(HolidayJp.isHoliday(date1))
assertTrue(HolidayJp.isHoliday(date2))
assertTrue(HolidayJp.isHoliday(date3))
assertTrue(HolidayJp.isHoliday(date4))
assertFalse(HolidayJp.isHoliday(date5))
}
// Asia/Tokyo
run {
val zoneOffset = ZoneOffset.ofHours(9)
val date1 = OffsetDateTime.of(2011, 9, 18, 23, 59, 59, 999999999, zoneOffset)
val date2 = OffsetDateTime.of(2011, 9, 19, 0, 0, 0, 0, zoneOffset)
val date3 = OffsetDateTime.of(2011, 9, 19, 0, 0, 0, 1, zoneOffset)
val date4 = OffsetDateTime.of(2011, 9, 19, 23, 59, 59, 999999999, zoneOffset)
val date5 = OffsetDateTime.of(2011, 9, 20, 0, 0, 0, 0, zoneOffset)
assertFalse(HolidayJp.isHoliday(date1))
assertTrue(HolidayJp.isHoliday(date2))
assertTrue(HolidayJp.isHoliday(date3))
assertTrue(HolidayJp.isHoliday(date4))
assertFalse(HolidayJp.isHoliday(date5))
}
}
}