import Foundation import XCTest class CalendarTest: XCTestCase { func testIsAfterToday() { let calendar = Calendar(identifier: .gregorian) XCTAssertTrue(calendar.isDateAfterToday(.distantFuture)) } func testIsBeforeToday() { let calendar = Calendar(identifier: .gregorian) XCTAssertFalse(calendar.isDateAfterToday(.distantPast)) } func testIsToday() { let calendar = Calendar(identifier: .gregorian) XCTAssertFalse(calendar.isDateAfterToday(Date())) } func testWithStartOfTomorrow() { let calendar = Calendar(identifier: .gregorian) let startOfToday = calendar.startOfDay(for: Date()) let startOfTomorrow = calendar.date(byAdding: .day, value: 1, to: startOfToday)! XCTAssertTrue(calendar.isDateAfterToday(startOfTomorrow)) } func testWithApproximateEndOfToday() { let calendar = Calendar(identifier: .gregorian) let approximateEndOfToday = calendar.date( bySettingHour: 23, minute: 59, second: 59, of: Date() )! XCTAssertFalse(calendar.isDateAfterToday(approximateEndOfToday)) } }