| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- //
- // NSDateTests.swift
- // Naterade
- //
- // Created by Nathan Racklyeft on 1/18/16.
- // Copyright © 2016 Nathan Racklyeft. All rights reserved.
- //
- import XCTest
- @testable import LoopKit
- class NSDateTests: XCTestCase {
- func testDateCeiledToInterval() {
- let calendar = Calendar.current
- let five01 = calendar.nextDate(after: Date(), matching: DateComponents(hour: 5, minute: 0, second: 1), matchingPolicy: .nextTime)!
- let five05 = calendar.nextDate(after: five01, matching: DateComponents(hour: 5, minute: 5, second: 0), matchingPolicy: .nextTime)!
- XCTAssertEqual(five05, five01.dateCeiledToTimeInterval(TimeInterval(minutes: 5)))
- let six = calendar.nextDate(after: five01, matching: DateComponents(hour: 6, minute: 0, second: 0), matchingPolicy: .nextTime)!
- XCTAssertEqual(six, five01.dateCeiledToTimeInterval(TimeInterval(minutes: 60)))
- XCTAssertEqual(five05, five05.dateCeiledToTimeInterval(TimeInterval(minutes: 5)))
- let five47 = calendar.nextDate(after: five01, matching: DateComponents(hour: 5, minute: 47, second: 58), matchingPolicy: .nextTime)!
- let five50 = calendar.nextDate(after: five01, matching: DateComponents(hour: 5, minute: 50, second: 0), matchingPolicy: .nextTime)!
- XCTAssertEqual(five50, five47.dateCeiledToTimeInterval(TimeInterval(minutes: 5)))
- let twentyThree59 = calendar.nextDate(after: five01, matching: DateComponents(hour: 23, minute: 59, second: 0), matchingPolicy: .nextTime)!
- let tomorrowMidnight = calendar.nextDate(after: five01, matching: DateComponents(hour: 0, minute: 0, second: 0), matchingPolicy: .nextTime)!
- XCTAssertEqual(tomorrowMidnight, twentyThree59.dateCeiledToTimeInterval(TimeInterval(minutes: 5)))
- XCTAssertEqual(five01, five01.dateCeiledToTimeInterval(TimeInterval(0)))
- }
- func testDateFlooredToInterval() {
- let calendar = Calendar.current
- let five01 = calendar.nextDate(after: Date(), matching: DateComponents(hour: 5, minute: 0, second: 1), matchingPolicy: .nextTime)!
- let five = calendar.nextDate(after: five01, matching: DateComponents(hour: 5, minute: 0, second: 0), matchingPolicy: .nextTime, direction: .backward)!
- XCTAssertEqual(five, five01.dateFlooredToTimeInterval(TimeInterval(minutes: 5)))
- let five59 = calendar.nextDate(after: five01, matching: DateComponents(hour: 5, minute: 59, second: 0), matchingPolicy: .nextTime)!
- XCTAssertEqual(five, five59.dateFlooredToTimeInterval(TimeInterval(minutes: 60)))
- let five55 = calendar.nextDate(after: five01, matching: DateComponents(hour: 5, minute: 55, second: 0), matchingPolicy: .nextTime)!
- XCTAssertEqual(five55, five59.dateFlooredToTimeInterval(TimeInterval(minutes: 5)))
- XCTAssertEqual(five, five.dateFlooredToTimeInterval(TimeInterval(minutes: 5)))
-
- XCTAssertEqual(five01, five01.dateFlooredToTimeInterval(TimeInterval(0)))
- }
- }
|