mirror of
https://github.com/Finb/Bark.git
synced 2025-12-08 21:36:01 +00:00
70 lines
3.0 KiB
Swift
70 lines
3.0 KiB
Swift
//
|
|
// MessageDeleteTimeRangeTest.swift
|
|
// BarkTests
|
|
//
|
|
// Created by huangfeng on 1/8/25.
|
|
// Copyright © 2025 Fin. All rights reserved.
|
|
//
|
|
@testable import Bark
|
|
import Testing
|
|
|
|
struct MessageDeleteTimeRangeTest {
|
|
@Test("检查时间范围区间是否正确", arguments: [
|
|
MessageDeleteTimeRange.lastHour,
|
|
MessageDeleteTimeRange.today,
|
|
MessageDeleteTimeRange.todayAndYesterday,
|
|
MessageDeleteTimeRange.lastMonth,
|
|
MessageDeleteTimeRange.allTime,
|
|
MessageDeleteTimeRange.beforeOneHour,
|
|
MessageDeleteTimeRange.beforeToday,
|
|
MessageDeleteTimeRange.beforeYesterday,
|
|
MessageDeleteTimeRange.beforeOneMonth
|
|
])
|
|
func testRange(range: MessageDeleteTimeRange) async throws {
|
|
let now = Date()
|
|
let lastHour = Calendar.current.date(byAdding: .hour, value: -1, to: now)!
|
|
let today = now.startOfDay
|
|
let yesterday = Calendar.current.date(byAdding: .day, value: -1, to: today)!.startOfDay
|
|
let lastMonth = Calendar.current.date(byAdding: .month, value: -1, to: now)!
|
|
|
|
switch range {
|
|
case .lastHour:
|
|
let startDate = range.startDate
|
|
let endDate = range.endDate
|
|
#expect(startDate.timeInterval == lastHour.timeInterval && endDate.timeInterval == now.timeInterval)
|
|
case .today:
|
|
let startDate = range.startDate
|
|
let endDate = range.endDate
|
|
#expect(startDate.timeInterval == today.timeInterval && endDate.timeInterval == now.timeInterval)
|
|
case .todayAndYesterday:
|
|
let startDate = range.startDate
|
|
let endDate = range.endDate
|
|
#expect(startDate.timeInterval == yesterday.timeInterval && endDate.timeInterval == now.timeInterval)
|
|
case .lastMonth:
|
|
let startDate = range.startDate
|
|
let endDate = range.endDate
|
|
#expect(startDate.timeInterval == lastMonth.timeInterval && endDate.timeInterval == now.timeInterval)
|
|
case .allTime:
|
|
let startDate = range.startDate
|
|
let endDate = range.endDate
|
|
#expect(startDate.timeInterval == 0 && endDate.timeInterval == now.timeInterval)
|
|
case .beforeOneHour:
|
|
let startDate = range.startDate
|
|
let endDate = range.endDate
|
|
#expect(startDate.timeInterval == 0 && endDate.timeInterval == lastHour.timeInterval)
|
|
case .beforeToday:
|
|
let startDate = range.startDate
|
|
let endDate = range.endDate
|
|
#expect(startDate.timeInterval == 0 && endDate.timeInterval == today.timeInterval)
|
|
case .beforeYesterday:
|
|
let startDate = range.startDate
|
|
let endDate = range.endDate
|
|
#expect(startDate.timeInterval == 0 && endDate.timeInterval == yesterday.timeInterval)
|
|
case .beforeOneMonth:
|
|
let startDate = range.startDate
|
|
let endDate = range.endDate
|
|
#expect(startDate.timeInterval == 0 && endDate.timeInterval == lastMonth.timeInterval)
|
|
}
|
|
}
|
|
}
|