@@ -2,7 +2,7 @@ import XCTest
22@testable import Time
33
44class FixedTests : XCTestCase {
5-
5+
66 static var allTests = [
77 ( " testInitializingGregorianDateWithoutEraSucceeds " , testInitializingGregorianDateWithoutEraSucceeds) ,
88 ( " testInitializingGregorianDateWithEraSucceeds " , testInitializingGregorianDateWithEraSucceeds) ,
@@ -41,43 +41,43 @@ class FixedTests: XCTestCase {
4141 let year = try ! Fixed < Year > ( region: . posix, era: 1 , year: 2020 )
4242 let lastMonth = year. lastMonth
4343 let expectedlastMonth = try ! Fixed < Month > ( region: . posix, era: 1 , year: 2020 , month: 12 )
44-
44+
4545 XCTAssertEqual ( lastMonth, expectedlastMonth)
4646 }
47-
47+
4848 func testLastDayOfMonth( ) {
4949
5050 let month = try ! Fixed < Month > ( region: . posix, era: 1 , year: 2020 , month: 2 )
5151 let lastDay = month. lastDay
5252 let expectedLastDay = try ! Fixed < Day > ( region: . posix, era: 1 , year: 2020 , month: 2 , day: 29 )
53-
53+
5454 XCTAssertEqual ( lastDay, expectedLastDay)
5555 }
56-
56+
5757 func testLastHourOfDay( ) {
5858
5959 let day = try ! Fixed < Day > ( region: . posix, era: 1 , year: 2020 , month: 2 , day: 29 )
6060 let lastHour = day. lastHour
6161 let expectedlastHour = try ! Fixed < Hour > ( region: . posix, era: 1 , year: 2020 , month: 2 , day: 29 , hour: 23 )
62-
62+
6363 XCTAssertEqual ( lastHour, expectedlastHour)
6464 }
65-
65+
6666 func testLastMinuteOfHour( ) {
6767
6868 let hour = try ! Fixed < Hour > ( region: . posix, era: 1 , year: 2020 , month: 2 , day: 29 , hour: 13 )
6969 let lastMinute = hour. lastMinute
7070 let expectedlastMinute = try ! Fixed < Minute > ( region: . posix, era: 1 , year: 2020 , month: 2 , day: 29 , hour: 13 , minute: 59 )
71-
71+
7272 XCTAssertEqual ( lastMinute, expectedlastMinute)
7373 }
74-
74+
7575 func testLastSecondOfMinute( ) {
7676
7777 let minute = try ! Fixed < Minute > ( region: . posix, era: 1 , year: 2020 , month: 2 , day: 29 , hour: 13 , minute: 31 )
7878 let lastSecond = minute. lastSecond
7979 let expectedlastSecond = try ! Fixed < Second > ( region: . posix, era: 1 , year: 2020 , month: 2 , day: 29 , hour: 13 , minute: 31 , second: 59 )
80-
80+
8181 XCTAssertEqual ( lastSecond, expectedlastSecond)
8282 }
8383
@@ -103,6 +103,21 @@ class FixedTests: XCTestCase {
103103 XCTAssertEqual ( minuteOfFirstSecond, minuteOfSecondSecond)
104104 }
105105
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+
106121 func testRounding( ) throws {
107122 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 )
108123
0 commit comments