322 lines
19 KiB
Swift
322 lines
19 KiB
Swift
//
|
|
// SwiftDate
|
|
// Parse, validate, manipulate, and display dates, time and timezones in Swift
|
|
//
|
|
// Created by Daniele Margutti
|
|
// - Web: https://www.danielemargutti.com
|
|
// - Twitter: https://twitter.com/danielemargutti
|
|
// - Mail: hello@danielemargutti.com
|
|
//
|
|
// Copyright © 2019 Daniele Margutti. Licensed under MIT License.
|
|
//
|
|
|
|
import SwiftDate
|
|
import XCTest
|
|
|
|
class TestDateInRegion_Compare: XCTestCase {
|
|
|
|
func testDateInRegion_compareCloseTo() {
|
|
let regionRome = Region(calendar: Calendars.gregorian, zone: Zones.europeRome, locale: Locales.italian)
|
|
let dateFormat = "yyyy-MM-dd HH:mm:ss"
|
|
|
|
let refDate = DateInRegion("2015-01-01 00:00:00", format: dateFormat, region: regionRome)!
|
|
let dateA = DateInRegion("2015-01-01 01:00:00", format: dateFormat, region: regionRome)!
|
|
let dateB = DateInRegion("2014-12-31 22:30:00", format: dateFormat, region: regionRome)!
|
|
let dateC = DateInRegion("2015-01-01 04:00:00", format: dateFormat, region: regionRome)!
|
|
|
|
let failMsg = "Failed to evaluate if date is close to another with given interval"
|
|
XCTAssert( (dateA.compareCloseTo(refDate, precision: 1.hours.timeInterval) == true), failMsg)
|
|
XCTAssert( (dateB.compareCloseTo(refDate, precision: 1.hours.timeInterval) == false), failMsg)
|
|
XCTAssert( (dateC.compareCloseTo(refDate, precision: 3.hours.timeInterval) == false), failMsg)
|
|
XCTAssert( (dateC.compareCloseTo(refDate, precision: 5.hours.timeInterval) == true), failMsg)
|
|
}
|
|
|
|
func testDateInRegion_compare() {
|
|
|
|
// isToday
|
|
XCTAssert( DateInRegion().compare(.isToday), "Failed to evaluate isToday")
|
|
XCTAssert( ((DateInRegion() - 2.days).compare(.isToday) == false), "Failed to evaluate isToday == false")
|
|
|
|
// isTomorrow
|
|
XCTAssert( (DateInRegion() + 1.days + 5.minutes).compare(.isTomorrow), "Failed to evaluate isTomorrow")
|
|
XCTAssert( (DateInRegion().dateAt(.endOfDay).compare(.isTomorrow) == false), "Failed to evaluate isTomorrow")
|
|
|
|
// isYesterday
|
|
XCTAssert( (DateInRegion().dateAt(.startOfDay) - 1.days).compare(.isYesterday), "Failed to evaluate isYesterday")
|
|
XCTAssert( ((DateInRegion().dateAt(.startOfDay)).compare(.isYesterday) == false), "Failed to evaluate isYesterday == false")
|
|
|
|
// isThisWeek
|
|
XCTAssert( DateInRegion().compare(.isThisWeek), "Failed to evaluate isThisWeek")
|
|
XCTAssert( DateInRegion().dateAt(.startOfWeek).compare(.isThisWeek), "Failed to evaluate isThisWeek")
|
|
|
|
// isNextWeek
|
|
XCTAssert( (DateInRegion() + 7.days).compare(.isNextWeek), "Failed to evaluate isNextWeek")
|
|
XCTAssert( (DateInRegion().dateAt(.endOfWeek) + 1.days).compare(.isNextWeek), "Failed to evaluate isNextWeek")
|
|
|
|
// isLastWeek
|
|
XCTAssert( (DateInRegion() - 7.days).compare(.isLastWeek), "Failed to evaluate isLastWeek")
|
|
XCTAssert( (DateInRegion().dateAt(.startOfWeek) - 1.days).compare(.isLastWeek), "Failed to evaluate isLastWeek")
|
|
|
|
// isSameWeek
|
|
let regionRome = Region(calendar: Calendars.gregorian, zone: Zones.europeRome, locale: Locales.italian)
|
|
let dateFormat = "yyyy-MM-dd HH:mm:ss"
|
|
let dateA = DateInRegion("2018-06-19 01:00:00", format: dateFormat, region: regionRome)!
|
|
let dateB = DateInRegion("2018-06-23 22:30:00", format: dateFormat, region: regionRome)!
|
|
let dateC = DateInRegion("2018-06-17 23:59:00", format: dateFormat, region: regionRome)!
|
|
|
|
XCTAssert( dateA.compare(.isSameWeek(dateB)), "Failed to evaluate isSameWeek")
|
|
XCTAssert( dateA.compare(.isSameWeek(dateC)) == false, "Failed to evaluate isSameWeek == false")
|
|
|
|
// isThisMonth
|
|
XCTAssert( (DateInRegion().dateAt(.startOfMonth) + 6.days).compare(.isThisMonth), "Failed to evaluate isThisMonth")
|
|
XCTAssert( DateInRegion().compare(.isThisMonth), "Failed to evaluate isThisMonth")
|
|
XCTAssert( (DateInRegion().dateAt(.startOfMonth) - 1.days).compare(.isThisMonth) == false, "Failed to evaluate isThisMonth == false")
|
|
|
|
// isNextMonth
|
|
XCTAssert( (DateInRegion().dateAt(.startOfMonth) - 1.days).compare(.isNextMonth) == false, "Failed to evaluate isNextMonth == false")
|
|
XCTAssert( (DateInRegion().dateAt(.endOfMonth) + 5.days).compare(.isNextMonth), "Failed to evaluate isNextMonth")
|
|
XCTAssert( DateInRegion().compare(.isNextMonth) == false, "Failed to evaluate isNextMonth == false")
|
|
|
|
// isLastMonth
|
|
XCTAssert( (DateInRegion().dateAt(.startOfMonth) - 1.days).compare(.isLastMonth), "Failed to evaluate isLastMonth")
|
|
XCTAssert( (DateInRegion().dateAt(.endOfMonth) + 5.days).compare(.isLastMonth) == false, "Failed to evaluate isLastMonth == false")
|
|
XCTAssert( DateInRegion().compare(.isLastMonth) == false, "Failed to evaluate isLastMonth == false")
|
|
|
|
// isSameMonth
|
|
let dateA1 = DateInRegion("2018-06-19 01:00:00", format: dateFormat, region: regionRome)!
|
|
let dateB1 = DateInRegion("2018-06-23 22:30:00", format: dateFormat, region: regionRome)!
|
|
let dateC1 = DateInRegion("2018-07-01 00:00:00", format: dateFormat, region: regionRome)!
|
|
XCTAssert( dateA1.compare(.isSameMonth(dateB1)), "Failed to evaluate isSameMonth")
|
|
XCTAssert( dateB1.compare(.isSameMonth(dateC1)) == false, "Failed to evaluate isSameMonth == false")
|
|
|
|
// prevWeek/nextWeek
|
|
XCTAssert( dateA1.dateAt(.prevWeek).toISO() == "2018-06-11T00:00:00+02:00", "Failed to evaluate prevWeek")
|
|
XCTAssert( dateA1.dateAt(.nextWeek).toISO() == "2018-06-25T00:00:00+02:00", "Failed to evaluate prevWeek")
|
|
|
|
// isThisYear
|
|
XCTAssert( DateInRegion().compare(.isThisYear), "Failed to evaluate isThisYear")
|
|
XCTAssert( (DateInRegion() + 1.years).compare(.isThisYear) == false, "Failed to evaluate isThisYear == false")
|
|
XCTAssert( (DateInRegion() - 1.years).compare(.isThisYear) == false, "Failed to evaluate isThisYear == false")
|
|
|
|
// isSameYear
|
|
let dateA2 = DateInRegion("2018-01-01 00:00:00", format: dateFormat, region: regionRome)!
|
|
let dateB2 = DateInRegion("2017-12-31 23:59:59", format: dateFormat, region: regionRome)!
|
|
let dateC2 = DateInRegion("2018-12-31 23:59:59", format: dateFormat, region: regionRome)!
|
|
XCTAssert( dateA2.compare(.isSameYear(dateB2)) == false, "Failed to evaluate isSameYear == false")
|
|
XCTAssert( dateA2.compare(.isSameYear(dateC2)), "Failed to evaluate isSameYear")
|
|
XCTAssert( dateB2.compare(.isSameYear(dateC2)) == false, "Failed to evaluate isSameYear == false")
|
|
|
|
// isInTheFuture
|
|
XCTAssert( (DateInRegion() + 1.seconds).compare(.isInTheFuture), "Failed to evaluate isInTheFuture")
|
|
XCTAssert( (DateInRegion() - 1.seconds).compare(.isInTheFuture) == false, "Failed to evaluate isInTheFuture == false")
|
|
XCTAssert( (DateInRegion() + 1.years).compare(.isInTheFuture), "Failed to evaluate isInTheFuture")
|
|
|
|
// isInThePast
|
|
XCTAssert( (DateInRegion() - 1.seconds).compare(.isInThePast), "Failed to evaluate isInThePast")
|
|
XCTAssert( (DateInRegion() + 1.seconds).compare(.isInThePast) == false, "Failed to evaluate isInThePast == false")
|
|
XCTAssert( (DateInRegion() - 1.years).compare(.isInThePast), "Failed to evaluate isInThePast")
|
|
|
|
// isEarlier
|
|
let dateA3 = DateInRegion("2018-01-01 00:00:00", format: dateFormat, region: regionRome)!
|
|
let dateB3 = DateInRegion("2017-12-31 23:59:59", format: dateFormat, region: regionRome)!
|
|
XCTAssert( dateA3.compare(.isEarlier(than: dateB3)) == false, "Failed to evaluate isEarlier == false")
|
|
XCTAssert( dateB3.compare(.isEarlier(than: dateA3)), "Failed to evaluate isEarlier")
|
|
|
|
// isLater
|
|
XCTAssert( dateA3.compare(.isLater(than: dateB3)), "Failed to evaluate isLater")
|
|
XCTAssert( dateB3.compare(.isLater(than: dateA3)) == false, "Failed to evaluate isLater == false")
|
|
|
|
// isWeekday
|
|
XCTAssert( DateInRegion().dateAt(.endOfWeek).compare(.isWeekday) == false, "Failed to evaluate isWeekday == false")
|
|
XCTAssert( (DateInRegion().dateAt(.startOfWeek) + 1.days).compare(.isWeekday), "Failed to evaluate isWeekday")
|
|
|
|
// isWeekend
|
|
XCTAssert( DateInRegion().dateAt(.endOfWeek).compare(.isWeekend), "Failed to evaluate isWeekend")
|
|
XCTAssert( (DateInRegion().dateAt(.startOfWeek) + 1.days).compare(.isWeekend) == false, "Failed to evaluate isWeekend == false")
|
|
|
|
// isInDST
|
|
// Region rome:
|
|
// 25 Mar 2018 - Daylight Saving Time Started
|
|
// 28 Oct 2018 - Daylight Saving Time Ends
|
|
XCTAssert( DateInRegion().dateAt(.endOfWeek).compare(.isWeekend), "Failed to evaluate isWeekend")
|
|
let dateA4 = DateInRegion("2018-03-26 00:00:00", format: dateFormat, region: regionRome)!
|
|
let dateB4 = DateInRegion("2018-06-01 00:00:00", format: dateFormat, region: regionRome)!
|
|
|
|
let dateC4 = DateInRegion("2018-10-29 00:00:00", format: dateFormat, region: regionRome)!
|
|
let dateD4 = DateInRegion("2018-12-01 00:00:00", format: dateFormat, region: regionRome)!
|
|
|
|
XCTAssert( dateA4.compare(.isInDST), "Failed to evaluate isInDST")
|
|
XCTAssert( dateB4.compare(.isInDST), "Failed to evaluate isInDST")
|
|
|
|
XCTAssert( dateC4.compare(.isInDST) == false, "Failed to evaluate isInDST == false")
|
|
XCTAssert( dateD4.compare(.isInDST) == false, "Failed to evaluate isInDST == false")
|
|
|
|
// isMorning
|
|
let dateA5 = DateInRegion("2018-03-26 05:00:00", format: dateFormat, region: regionRome)!
|
|
let dateA6 = DateInRegion("2018-03-26 10:00:00", format: dateFormat, region: regionRome)!
|
|
let dateA7 = DateInRegion("2018-03-26 11:59:00", format: dateFormat, region: regionRome)!
|
|
let dateA8 = DateInRegion("2018-03-26 13:59:00", format: dateFormat, region: regionRome)!
|
|
let dateA9 = DateInRegion("2018-03-26 17:59:00", format: dateFormat, region: regionRome)!
|
|
let dateA10 = DateInRegion("2018-03-26 23:00:00", format: dateFormat, region: regionRome)!
|
|
let dateA11 = DateInRegion("2018-03-26 04:00:00", format: dateFormat, region: regionRome)!
|
|
XCTAssert( dateA5.compare(.isMorning), "Failed to evaluate isMorning")
|
|
XCTAssert( dateA6.compare(.isMorning), "Failed to evaluate isMorning")
|
|
XCTAssert( dateA7.compare(.isMorning), "Failed to evaluate isMorning")
|
|
XCTAssert( dateA8.compare(.isMorning) == false, "Failed to evaluate isMorning == false")
|
|
|
|
// isAfternoon
|
|
XCTAssert( dateA5.compare(.isAfternoon) == false, "Failed to evaluate isAfternoon == false")
|
|
XCTAssert( dateA8.compare(.isAfternoon), "Failed to evaluate isAfternoon")
|
|
XCTAssert( dateA9.compare(.isAfternoon) == false, "Failed to evaluate isAfternoon == false")
|
|
|
|
// isEvening
|
|
XCTAssert( dateA9.compare(.isEvening), "Failed to evaluate isEvening")
|
|
XCTAssert( dateA10.compare(.isEvening) == false, "Failed to evaluate isEvening == false")
|
|
|
|
// isNight
|
|
XCTAssert( dateA5.compare(.isNight) == false, "Failed to evaluate isNight == false")
|
|
XCTAssert( dateA11.compare(.isNight), "Failed to evaluate isNight")
|
|
XCTAssert( dateA10.compare(.isNight), "Failed to evaluate isNight")
|
|
|
|
}
|
|
|
|
func testDateInRegion_compareGranularity() {
|
|
let regionRome = Region(calendar: Calendars.gregorian, zone: Zones.europeRome, locale: Locales.italian)
|
|
let dateFormat = "yyyy-MM-dd HH:mm:ss"
|
|
|
|
let date1 = DateInRegion("2018-06-19 01:00:00", format: dateFormat, region: regionRome)!
|
|
let date2 = DateInRegion("2018-06-19 20:00:00", format: dateFormat, region: regionRome)!
|
|
let date3 = DateInRegion("2018-06-21 20:00:00", format: dateFormat, region: regionRome)!
|
|
|
|
// Same day/month/year granularity
|
|
XCTAssert( date1.compare(toDate: date2, granularity: .day) == .orderedSame, "Failed to compare with .day granularity")
|
|
XCTAssert( date1.compare(toDate: date2, granularity: .month) == .orderedSame, "Failed to compare with .month granularity")
|
|
XCTAssert( date1.compare(toDate: date2, granularity: .year) == .orderedSame, "Failed to compare with .year granularity")
|
|
|
|
// Different day
|
|
XCTAssert( date2.compare(toDate: date3, granularity: .day) == .orderedAscending, "Failed to compare with .day granularity")
|
|
XCTAssert( date2.compare(toDate: date3, granularity: .month) == .orderedSame, "Failed to compare with .month granularity")
|
|
XCTAssert( date2.compare(toDate: date3, granularity: .hour) == .orderedAscending, "Failed to compare with .hour granularity")
|
|
}
|
|
|
|
func testDateInRegion_isBeforeDate() {
|
|
let regionRome = Region(calendar: Calendars.gregorian, zone: Zones.europeRome, locale: Locales.italian)
|
|
let regionLondon = Region(calendar: Calendars.gregorian, zone: Zones.europeLondon, locale: Locales.english)
|
|
let dateFormat = "yyyy-MM-dd HH:mm:ss"
|
|
|
|
let date1 = DateInRegion("2018-06-19 01:00:00", format: dateFormat, region: regionRome)!
|
|
let date2 = DateInRegion("2018-06-19 01:00:00", format: dateFormat, region: regionLondon)!
|
|
let date3 = DateInRegion("2018-06-21 01:10:00", format: dateFormat, region: regionRome)!
|
|
|
|
XCTAssert( date1.isBeforeDate(date2, granularity: .hour), "Failed to isBeforeDate() - .hour")
|
|
XCTAssert( date1.isBeforeDate(date3, granularity: .hour), "Failed to isBeforeDate() - .hour")
|
|
XCTAssert( date1.isBeforeDate(date2, granularity: .day) == false, "Failed to isBeforeDate() - .day == false")
|
|
}
|
|
|
|
func testDateInRegion_isAfterDate() {
|
|
let regionRome = Region(calendar: Calendars.gregorian, zone: Zones.europeRome, locale: Locales.italian)
|
|
let regionLondon = Region(calendar: Calendars.gregorian, zone: Zones.europeLondon, locale: Locales.english)
|
|
let dateFormat = "yyyy-MM-dd HH:mm:ss"
|
|
|
|
let date1 = DateInRegion("2018-06-19 01:00:00", format: dateFormat, region: regionRome)!
|
|
let date2 = DateInRegion("2018-06-19 01:00:00", format: dateFormat, region: regionLondon)!
|
|
let date3 = DateInRegion("2018-06-21 01:10:00", format: dateFormat, region: regionRome)!
|
|
let date4 = DateInRegion("2018-06-30 00:00:00", format: dateFormat, region: regionRome)!
|
|
let date5 = DateInRegion("2018-06-30 00:00:00", format: dateFormat, region: regionLondon)!
|
|
|
|
XCTAssert( date3.isAfterDate(date1, granularity: .day), "Failed to isAfterDate() - .day")
|
|
XCTAssert( date1.isAfterDate(date3, granularity: .month) == false, "Failed to isAfterDate() - .month == false")
|
|
XCTAssert( date4.isAfterDate(date5, granularity: .month) == false, "Failed to isAfterDate() - .day == false")
|
|
XCTAssert( date2.isAfterDate(date1, granularity: .year) == false, "Failed to isAfterDate() - .year == false")
|
|
}
|
|
|
|
func testDateInRegion_positionInRange() {
|
|
let regionRome = Region(calendar: Calendars.gregorian, zone: Zones.europeRome, locale: Locales.italian)
|
|
let regionLondon = Region(calendar: Calendars.gregorian, zone: Zones.europeLondon, locale: Locales.english)
|
|
let dateFormat = "yyyy-MM-dd HH:mm:ss"
|
|
|
|
let lowerBound = DateInRegion("2018-05-31 23:00:00", format: dateFormat, region: regionRome)!
|
|
let upperBound = DateInRegion("2018-06-01 01:00:00", format: dateFormat, region: regionRome)!
|
|
|
|
let testDate1 = DateInRegion("2018-06-01 00:30:00", format: dateFormat, region: regionRome)!
|
|
XCTAssertEqual( testDate1.positionInRange(date: lowerBound, and: upperBound), 0.75)
|
|
|
|
let testDate2 = DateInRegion("2018-05-31 22:30:00", format: dateFormat, region: regionLondon)!
|
|
XCTAssertEqual( testDate2.positionInRange(date: lowerBound, and: upperBound), 0.25)
|
|
|
|
let testDate3 = DateInRegion("2018-05-31 21:00:00", format: dateFormat, region: regionLondon)!
|
|
XCTAssertNil( testDate3.positionInRange(date: lowerBound, and: upperBound))
|
|
|
|
let testDate4 = DateInRegion("2018-06-01 03:00:00", format: dateFormat, region: regionLondon)!
|
|
XCTAssertNil( testDate4.positionInRange(date: lowerBound, and: upperBound))
|
|
}
|
|
|
|
func testDateInRegion_isInRange() {
|
|
let regionRome = Region(calendar: Calendars.gregorian, zone: Zones.europeRome, locale: Locales.italian)
|
|
let regionLondon = Region(calendar: Calendars.gregorian, zone: Zones.europeLondon, locale: Locales.english)
|
|
let dateFormat = "yyyy-MM-dd HH:mm:ss"
|
|
|
|
let lowerBound = DateInRegion("2018-05-31 23:00:00", format: dateFormat, region: regionRome)!
|
|
let upperBound = DateInRegion("2018-06-01 01:00:00", format: dateFormat, region: regionRome)!
|
|
|
|
let testDate1 = DateInRegion("2018-06-01 00:02:00", format: dateFormat, region: regionRome)!
|
|
XCTAssert( testDate1.isInRange(date: lowerBound, and: upperBound, orEqual: true, granularity: .hour), "Failed to isInRange .hour")
|
|
|
|
let testDate2 = DateInRegion("2018-06-01 00:02:00", format: dateFormat, region: regionLondon)!
|
|
XCTAssert( testDate2.isInRange(date: lowerBound, and: upperBound, orEqual: true, granularity: .hour), "Failed to isInRange .hour")
|
|
|
|
let testDate3 = DateInRegion("2018-06-01 01:00:01", format: dateFormat, region: regionLondon)!
|
|
XCTAssert( testDate3.isInRange(date: lowerBound, and: upperBound, orEqual: true, granularity: .hour) == false, "Failed to isInRange .hour == false")
|
|
}
|
|
|
|
func testDateInRegion_earlierAndLaterDate() {
|
|
let regionRome = Region(calendar: Calendars.gregorian, zone: Zones.europeRome, locale: Locales.italian)
|
|
let regionLondon = Region(calendar: Calendars.gregorian, zone: Zones.europeLondon, locale: Locales.english)
|
|
let dateFormat = "yyyy-MM-dd HH:mm:ss"
|
|
|
|
let date1 = DateInRegion("2018-05-31 23:00:00", format: dateFormat, region: regionRome)!
|
|
let date2 = DateInRegion("2018-06-01 00:00:00", format: dateFormat, region: regionRome)!
|
|
let date3 = DateInRegion("2018-06-01 01:00:00", format: dateFormat, region: regionLondon)!
|
|
|
|
// earlierDate()
|
|
XCTAssert( (date1.earlierDate(date2) == date1), "Failed to get .earlierDate()")
|
|
XCTAssert( (date1.earlierDate(date3) == date1), "Failed to get .earlierDate()")
|
|
XCTAssert( (date1.date.earlierDate(date2.date) == date1.date), "Failed to get .earlierDate()")
|
|
XCTAssert( (date1.date.earlierDate(date3.date) == date1.date), "Failed to get .earlierDate()")
|
|
|
|
// laterDate()
|
|
XCTAssert( (date1.laterDate(date2) == date2), "Failed to get .laterDate()")
|
|
XCTAssert( (date1.laterDate(date3) == date3), "Failed to get .laterDate()")
|
|
XCTAssert( (date1.date.laterDate(date2.date) == date2.date), "Failed to get .laterDate()")
|
|
XCTAssert( (date1.date.laterDate(date3.date) == date3.date), "Failed to get .laterDate()")
|
|
}
|
|
|
|
func testDateInRegion_compareMath() {
|
|
let regionRome = Region(calendar: Calendars.gregorian, zone: Zones.europeRome, locale: Locales.italian)
|
|
let regionNY = Region(calendar: Calendars.gregorian, zone: Zones.americaNewYork, locale: Locales.english)
|
|
let dateFormat = "yyyy-MM-dd HH:mm:ss"
|
|
|
|
let date1 = DateInRegion("2018-01-01 00:10:00", format: dateFormat, region: regionRome)!
|
|
let date2 = DateInRegion("2017-12-31 23:00:00", format: dateFormat, region: regionRome)!
|
|
let date3 = DateInRegion("2018-01-01 00:20:00", format: dateFormat, region: regionNY)!
|
|
|
|
XCTAssert( (date1 >= date2), "Failed to math compare two dates")
|
|
XCTAssert( (date1 > date2), "Failed to math compare two dates")
|
|
XCTAssert( (date3 > date1), "Failed to math compare two dates")
|
|
XCTAssert( (date3 == date3), "Failed to math compare two dates")
|
|
XCTAssert( (date3 >= date3), "Failed to math compare two dates")
|
|
XCTAssert( (date3 <= date3), "Failed to math compare two dates")
|
|
XCTAssert( (date1 <= date3), "Failed to math compare two dates")
|
|
}
|
|
|
|
func testDateInRange_GranuralityTest() {
|
|
let startTime = Date(timeIntervalSince1970: 1_538_344_800.0) // 2018-09-30 22:00:00 +0000
|
|
let endTime = Date(timeIntervalSince1970: 1_540_940_400.0 + (60 * 60 * 3)) // 2018-10-31 02:00:00 +0000
|
|
let checkStart = Date(timeIntervalSince1970: 1_540_976_400.0) // 2018-10-31 09:00:00 +0000
|
|
|
|
let isInside = checkStart.isInRange(date: startTime, and: endTime, orEqual: true, granularity: .day) // should return false even if its true
|
|
XCTAssert( (isInside == true), "Failed to compare date with granularity")
|
|
}
|
|
|
|
}
|