in glean-core/ios/GleanTests/Scheduler/MetricsPingSchedulerTests.swift [16:68]
func testIsAfterDueTime() {
let mps = MetricsPingScheduler(true)
var fakeNow = DateComponents()
var fakeDate = Date()
// Must report false before the due time on the same calendar day
// Shortly before
fakeNow.year = 2015
fakeNow.month = 6
fakeNow.day = 11
fakeNow.hour = 3
fakeNow.minute = 0
fakeDate = Calendar.current.date(from: fakeNow)!
XCTAssertFalse(
mps.isAfterDueTime(fakeDate, dueHourOfTheDay: 4),
"isAfterDueTime must report false before the due time on the same calendar day"
)
// The same hour
fakeNow.year = 2015
fakeNow.month = 6
fakeNow.day = 11
fakeNow.hour = 4
fakeNow.minute = 0
fakeDate = Calendar.current.date(from: fakeNow)!
XCTAssertFalse(
mps.isAfterDueTime(fakeDate, dueHourOfTheDay: 4),
"isAfterDueTime must report false before the due time on the same calendar day"
)
// Midnight
fakeNow.year = 2015
fakeNow.month = 6
fakeNow.day = 11
fakeNow.hour = 0
fakeNow.minute = 0
fakeDate = Calendar.current.date(from: fakeNow)!
XCTAssertFalse(
mps.isAfterDueTime(fakeDate, dueHourOfTheDay: 4),
"isAfterDueTime must report false before the due time on the same calendar day"
)
// Must report true after the due time on the same calendar day
// Shortly After
fakeNow.year = 2015
fakeNow.month = 6
fakeNow.day = 11
fakeNow.hour = 4
fakeNow.minute = 1
fakeDate = Calendar.current.date(from: fakeNow)!
XCTAssertTrue(
mps.isAfterDueTime(fakeDate, dueHourOfTheDay: 4),
"isAfterDueTime must report false before the due time on the same calendar day"
)
}