func testIsAfterDueTime()

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"
        )
    }