Skip to content

Commit 5fc7e5b

Browse files
committed
style: Format code
1 parent 0c0558b commit 5fc7e5b

File tree

1 file changed

+72
-59
lines changed

1 file changed

+72
-59
lines changed

Tests/SwiftDevKitTests/Time/TimeZoneUtilitiesTests.swift

Lines changed: 72 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -12,214 +12,227 @@ import Testing
1212
struct TimeZoneUtilitiesTests {
1313
@Test("Test time zone conversion")
1414
func testTimeZoneConversion() throws {
15-
let date = Date(timeIntervalSince1970: 1705881600) // Jan 22, 2024 00:00:00 UTC
15+
let date = Date(timeIntervalSince1970: 1_705_881_600) // Jan 22, 2024 00:00:00 UTC
1616
guard let utc = TimeZone(identifier: "UTC"),
1717
let ny = TimeZone(identifier: "America/New_York"),
18-
let tokyo = TimeZone(identifier: "Asia/Tokyo") else {
18+
let tokyo = TimeZone(identifier: "Asia/Tokyo")
19+
else {
1920
throw TestError("Failed to create time zones")
2021
}
21-
22+
2223
// Test UTC to NY conversion
2324
let nyTime = TimeZoneUtilities.convert(date: date, from: utc, to: ny)
2425
let nyOffset = ny.secondsFromGMT(for: date)
25-
#expect(nyTime.timeIntervalSince1970 == date.timeIntervalSince1970 + Double(nyOffset - utc.secondsFromGMT(for: date)))
26-
26+
#expect(
27+
nyTime.timeIntervalSince1970 == date
28+
.timeIntervalSince1970 + Double(nyOffset - utc.secondsFromGMT(for: date)))
29+
2730
// Test UTC to Tokyo conversion
2831
let tokyoTime = TimeZoneUtilities.convert(date: date, from: utc, to: tokyo)
2932
let tokyoOffset = tokyo.secondsFromGMT(for: date)
30-
#expect(tokyoTime.timeIntervalSince1970 == date.timeIntervalSince1970 + Double(tokyoOffset - utc.secondsFromGMT(for: date)))
31-
33+
#expect(
34+
tokyoTime.timeIntervalSince1970 == date
35+
.timeIntervalSince1970 + Double(tokyoOffset - utc.secondsFromGMT(for: date)))
36+
3237
// Test conversion during DST transition
33-
let dstDate = Date(timeIntervalSince1970: 1710061200) // March 10, 2024 07:00:00 UTC (DST start in US)
38+
let dstDate = Date(timeIntervalSince1970: 1_710_061_200) // March 10, 2024 07:00:00 UTC (DST start in US)
3439
let beforeDST = TimeZoneUtilities.convert(date: dstDate, from: utc, to: ny)
3540
let afterDST = TimeZoneUtilities.convert(date: dstDate.addingTimeInterval(7200), from: utc, to: ny)
3641
#expect(afterDST.timeIntervalSince1970 - beforeDST.timeIntervalSince1970 == 7200)
3742
}
38-
43+
3944
@Test("Test date formatting with time zones")
4045
func testDateFormatting() throws {
41-
let date = Date(timeIntervalSince1970: 1705881600) // Jan 22, 2024 00:00:00 UTC
46+
let date = Date(timeIntervalSince1970: 1_705_881_600) // Jan 22, 2024 00:00:00 UTC
4247
guard let tokyo = TimeZone(identifier: "Asia/Tokyo"),
43-
let ny = TimeZone(identifier: "America/New_York") else {
48+
let ny = TimeZone(identifier: "America/New_York")
49+
else {
4450
throw TestError("Failed to create time zones")
4551
}
4652
let enUS = Locale(identifier: "en_US")
47-
53+
4854
// Test different format styles
4955
let dateOnly = TimeZoneUtilities.format(date: date, timeZone: tokyo, style: .dateOnly, locale: enUS)
5056
#expect(dateOnly.contains("Jan"))
5157
#expect(dateOnly.contains("2024"))
5258
#expect(!dateOnly.contains(":")) // Should not contain time
53-
59+
5460
let timeOnly = TimeZoneUtilities.format(date: date, timeZone: tokyo, style: .timeOnly, locale: enUS)
5561
#expect(timeOnly.contains(":"))
5662
#expect(!timeOnly.contains("2024")) // Should not contain date
57-
63+
5864
let full = TimeZoneUtilities.format(date: date, timeZone: tokyo, style: .full, locale: enUS)
5965
#expect(full.contains("Jan"))
6066
#expect(full.contains("2024"))
6167
#expect(full.contains(":"))
62-
68+
6369
// Test with Japanese locale
6470
let jaJP = Locale(identifier: "ja_JP")
6571
let jpFormat = TimeZoneUtilities.format(date: date, timeZone: tokyo, style: .full, locale: jaJP)
6672
#expect(jpFormat.contains("2024"))
67-
73+
6874
// Test formatting during DST transition
69-
let dstDate = Date(timeIntervalSince1970: 1710061200) // March 10, 2024 07:00:00 UTC (DST start in US)
75+
let dstDate = Date(timeIntervalSince1970: 1_710_061_200) // March 10, 2024 07:00:00 UTC (DST start in US)
7076
let beforeDST = TimeZoneUtilities.format(date: dstDate, timeZone: ny, style: .full, locale: enUS)
71-
let afterDST = TimeZoneUtilities.format(date: dstDate.addingTimeInterval(7200), timeZone: ny, style: .full, locale: enUS)
77+
let afterDST = TimeZoneUtilities.format(
78+
date: dstDate.addingTimeInterval(7200),
79+
timeZone: ny,
80+
style: .full,
81+
locale: enUS)
7282
#expect(beforeDST != afterDST)
7383
}
74-
84+
7585
@Test("Test GMT offset formatting")
7686
func testOffsetFormatting() throws {
7787
guard let tokyo = TimeZone(identifier: "Asia/Tokyo"),
7888
let ny = TimeZone(identifier: "America/New_York"),
79-
let utc = TimeZone(identifier: "UTC") else {
89+
let utc = TimeZone(identifier: "UTC")
90+
else {
8091
throw TestError("Failed to create time zones")
8192
}
82-
93+
8394
// Test positive offset
8495
let tokyoOffset = TimeZoneUtilities.currentOffset(for: tokyo)
8596
#expect(tokyoOffset.hasPrefix("+"))
8697
#expect(tokyoOffset.contains(":"))
87-
98+
8899
// Test negative offset
89100
let nyOffset = TimeZoneUtilities.currentOffset(for: ny)
90101
#expect(nyOffset.contains(":"))
91-
102+
92103
// Test zero offset
93104
let utcOffset = TimeZoneUtilities.currentOffset(for: utc)
94105
#expect(utcOffset == "+00:00")
95-
106+
96107
// Test offset during DST
97108
// March 10, 2024 01:59:00 EST (before DST)
98-
let beforeDSTDate = Date(timeIntervalSince1970: 1710050340)
109+
let beforeDSTDate = Date(timeIntervalSince1970: 1_710_050_340)
99110
// March 10, 2024 03:01:00 EDT (after DST)
100-
let afterDSTDate = Date(timeIntervalSince1970: 1710054060)
101-
111+
let afterDSTDate = Date(timeIntervalSince1970: 1_710_054_060)
112+
102113
let beforeDST = TimeZoneUtilities.currentOffset(for: ny, at: beforeDSTDate)
103114
let afterDST = TimeZoneUtilities.currentOffset(for: ny, at: afterDSTDate)
104115
#expect(beforeDST == "-05:00") // EST offset
105116
#expect(afterDST == "-04:00") // EDT offset
106117
}
107-
118+
108119
@Test("Test DST detection")
109120
func testDSTDetection() throws {
110121
guard let ny = TimeZone(identifier: "America/New_York"),
111122
let tokyo = TimeZone(identifier: "Asia/Tokyo"),
112-
let utc = TimeZone(identifier: "UTC") else {
123+
let utc = TimeZone(identifier: "UTC")
124+
else {
113125
throw TestError("Failed to create time zones")
114126
}
115-
127+
116128
// Test DST observation
117129
let isDSTNY = TimeZoneUtilities.isDaylightSavingTime(in: ny)
118130
#expect(isDSTNY == ny.isDaylightSavingTime(for: Date()))
119-
131+
120132
// Test non-DST zones
121133
let isDSTTokyo = TimeZoneUtilities.isDaylightSavingTime(in: tokyo)
122134
#expect(!isDSTTokyo) // Tokyo doesn't observe DST
123-
135+
124136
let isDSTUTC = TimeZoneUtilities.isDaylightSavingTime(in: utc)
125137
#expect(!isDSTUTC) // UTC never observes DST
126138
}
127-
139+
128140
@Test("Test next DST transition")
129141
func testNextDSTTransition() throws {
130142
guard let ny = TimeZone(identifier: "America/New_York"),
131143
let tokyo = TimeZone(identifier: "Asia/Tokyo"),
132-
let utc = TimeZone(identifier: "UTC") else {
144+
let utc = TimeZone(identifier: "UTC")
145+
else {
133146
throw TestError("Failed to create time zones")
134147
}
135-
148+
136149
// Test zones with DST
137150
let nyTransition = TimeZoneUtilities.nextDSTTransition(in: ny)
138151
#expect(nyTransition != nil)
139-
152+
140153
// Test zones without DST
141154
let tokyoTransition = TimeZoneUtilities.nextDSTTransition(in: tokyo)
142155
#expect(tokyoTransition == nil)
143-
156+
144157
let utcTransition = TimeZoneUtilities.nextDSTTransition(in: utc)
145158
#expect(utcTransition == nil)
146159
}
147-
160+
148161
@Test("Test all time zones")
149162
func testAllTimeZones() throws {
150163
let zones = TimeZoneUtilities.allTimeZones()
151-
164+
152165
// Test structure
153166
#expect(!zones.isEmpty)
154167
#expect(zones.keys.contains("America"))
155168
#expect(zones.keys.contains("Europe"))
156169
#expect(zones.keys.contains("Asia"))
157170
#expect(zones.keys.contains("Pacific"))
158171
#expect(zones.keys.contains("Africa"))
159-
172+
160173
// Test completeness
161174
let allSystemZones = Set(TimeZone.knownTimeZoneIdentifiers)
162175
var allReturnedZones = Set<String>()
163176
for (_, identifiers) in zones {
164177
allReturnedZones.formUnion(identifiers)
165178
}
166179
#expect(allReturnedZones == allSystemZones)
167-
180+
168181
// Test validity of identifiers
169182
for (_, identifiers) in zones {
170183
for identifier in identifiers {
171184
#expect(TimeZone(identifier: identifier) != nil)
172185
}
173186
}
174187
}
175-
188+
176189
@Test("Test common time zones")
177190
func testCommonTimeZones() throws {
178191
let zones = TimeZoneUtilities.commonTimeZones()
179-
192+
180193
// Test structure
181194
#expect(zones.keys.contains("America"))
182195
#expect(zones.keys.contains("Europe"))
183196
#expect(zones.keys.contains("Asia"))
184197
#expect(zones.keys.contains("Pacific"))
185198
#expect(zones.keys.contains("Africa"))
186-
199+
187200
// Test content
188201
#expect(zones["America"]?.contains("America/New_York") == true)
189202
#expect(zones["Europe"]?.contains("Europe/London") == true)
190203
#expect(zones["Asia"]?.contains("Asia/Tokyo") == true)
191204
#expect(zones["Pacific"]?.contains("Australia/Sydney") == true)
192205
#expect(zones["Africa"]?.contains("Africa/Cairo") == true)
193-
206+
194207
// Test validity of identifiers
195208
for (_, identifiers) in zones {
196209
for identifier in identifiers {
197210
let timeZone = TimeZone(identifier: identifier)
198211
#expect(timeZone != nil, "Invalid timezone identifier: \(identifier)")
199212
}
200213
}
201-
214+
202215
// Test that common zones are a subset of all zones
203216
let allZones = TimeZoneUtilities.allTimeZones()
204217
for (region, identifiers) in zones {
205218
let commonSet = Set(identifiers)
206219
var allSet = Set<String>()
207-
220+
208221
// Handle special cases for regions
209222
switch region {
210-
case "Pacific":
211-
allSet.formUnion(allZones["Pacific"] ?? [])
212-
allSet.formUnion(allZones["Australia"] ?? [])
213-
case "Asia":
214-
allSet.formUnion(allZones["Asia"] ?? [])
215-
// Handle special case for Kolkata (formerly Calcutta)
216-
if allSet.contains("Asia/Calcutta") {
217-
allSet.insert("Asia/Kolkata")
218-
}
219-
default:
220-
allSet.formUnion(allZones[region] ?? [])
223+
case "Pacific":
224+
allSet.formUnion(allZones["Pacific"] ?? [])
225+
allSet.formUnion(allZones["Australia"] ?? [])
226+
case "Asia":
227+
allSet.formUnion(allZones["Asia"] ?? [])
228+
// Handle special case for Kolkata (formerly Calcutta)
229+
if allSet.contains("Asia/Calcutta") {
230+
allSet.insert("Asia/Kolkata")
231+
}
232+
default:
233+
allSet.formUnion(allZones[region] ?? [])
221234
}
222-
235+
223236
#expect(allSet.isSuperset(of: commonSet), "Common zones for \(region) are not a subset of all zones")
224237
}
225238
}

0 commit comments

Comments
 (0)