@@ -2,7 +2,7 @@ import XCTest
2
2
@testable import Time
3
3
4
4
class FixedTests : XCTestCase {
5
-
5
+
6
6
static var allTests = [
7
7
( " testInitializingGregorianDateWithoutEraSucceeds " , testInitializingGregorianDateWithoutEraSucceeds) ,
8
8
( " testInitializingGregorianDateWithEraSucceeds " , testInitializingGregorianDateWithEraSucceeds) ,
@@ -41,43 +41,43 @@ class FixedTests: XCTestCase {
41
41
let year = try ! Fixed < Year > ( region: . posix, era: 1 , year: 2020 )
42
42
let lastMonth = year. lastMonth
43
43
let expectedlastMonth = try ! Fixed < Month > ( region: . posix, era: 1 , year: 2020 , month: 12 )
44
-
44
+
45
45
XCTAssertEqual ( lastMonth, expectedlastMonth)
46
46
}
47
-
47
+
48
48
func testLastDayOfMonth( ) {
49
49
50
50
let month = try ! Fixed < Month > ( region: . posix, era: 1 , year: 2020 , month: 2 )
51
51
let lastDay = month. lastDay
52
52
let expectedLastDay = try ! Fixed < Day > ( region: . posix, era: 1 , year: 2020 , month: 2 , day: 29 )
53
-
53
+
54
54
XCTAssertEqual ( lastDay, expectedLastDay)
55
55
}
56
-
56
+
57
57
func testLastHourOfDay( ) {
58
58
59
59
let day = try ! Fixed < Day > ( region: . posix, era: 1 , year: 2020 , month: 2 , day: 29 )
60
60
let lastHour = day. lastHour
61
61
let expectedlastHour = try ! Fixed < Hour > ( region: . posix, era: 1 , year: 2020 , month: 2 , day: 29 , hour: 23 )
62
-
62
+
63
63
XCTAssertEqual ( lastHour, expectedlastHour)
64
64
}
65
-
65
+
66
66
func testLastMinuteOfHour( ) {
67
67
68
68
let hour = try ! Fixed < Hour > ( region: . posix, era: 1 , year: 2020 , month: 2 , day: 29 , hour: 13 )
69
69
let lastMinute = hour. lastMinute
70
70
let expectedlastMinute = try ! Fixed < Minute > ( region: . posix, era: 1 , year: 2020 , month: 2 , day: 29 , hour: 13 , minute: 59 )
71
-
71
+
72
72
XCTAssertEqual ( lastMinute, expectedlastMinute)
73
73
}
74
-
74
+
75
75
func testLastSecondOfMinute( ) {
76
76
77
77
let minute = try ! Fixed < Minute > ( region: . posix, era: 1 , year: 2020 , month: 2 , day: 29 , hour: 13 , minute: 31 )
78
78
let lastSecond = minute. lastSecond
79
79
let expectedlastSecond = try ! Fixed < Second > ( region: . posix, era: 1 , year: 2020 , month: 2 , day: 29 , hour: 13 , minute: 31 , second: 59 )
80
-
80
+
81
81
XCTAssertEqual ( lastSecond, expectedlastSecond)
82
82
}
83
83
@@ -103,6 +103,21 @@ class FixedTests: XCTestCase {
103
103
XCTAssertEqual ( minuteOfFirstSecond, minuteOfSecondSecond)
104
104
}
105
105
106
+ func testTotalMinutesCalculations( ) throws {
107
+ let today = Clocks . system. today
108
+
109
+ var start = try today. firstMinute. setting ( hour: 7 , minute: 30 )
110
+ var end = try today. firstMinute. setting ( hour: 20 , minute: 45 )
111
+ XCTAssertEqual ( start. differenceInWholeMinutes ( to: end) . minutes, 795 )
112
+
113
+ start = try start. setting ( hour: 11 , minute: 0 )
114
+ end = try end. setting ( hour: 17 , minute: 0 )
115
+ XCTAssertEqual ( start. differenceInWholeMinutes ( to: end) . minutes, 360 )
116
+
117
+ end = try end. setting ( hour: 11 , minute: 30 )
118
+ XCTAssertEqual ( start. differenceInWholeMinutes ( to: end) . minutes, 30 )
119
+ }
120
+
106
121
func testRounding( ) throws {
107
122
let t = try ! Fixed < Nanosecond > ( region: . posix, era: 1 , year: 2024 , month: 2 , day: 3 , hour: 14 , minute: 27 , second: 43 , nanosecond: 499_000_000 )
108
123
0 commit comments