Files
bitchat/bitchatTests/Services/BLEPacketFreshnessPolicyTests.swift
T

45 lines
1.3 KiB
Swift

import Foundation
import Testing
@testable import bitchat
struct BLEPacketFreshnessPolicyTests {
@Test
func nilRecipientCountsAsBroadcast() {
#expect(BLEPacketFreshnessPolicy.isBroadcastRecipient(nil))
}
@Test
func allOnesEightByteRecipientCountsAsBroadcast() {
#expect(BLEPacketFreshnessPolicy.isBroadcastRecipient(Data(repeating: 0xFF, count: 8)))
}
@Test
func directedRecipientIsNotBroadcast() {
#expect(!BLEPacketFreshnessPolicy.isBroadcastRecipient(Data([0, 1, 2, 3, 4, 5, 6, 7])))
}
@Test
func recentPacketIsNotStale() {
let now = Date(timeIntervalSince1970: 1000)
let timestamp = UInt64((now.timeIntervalSince1970 - 100) * 1000)
#expect(!BLEPacketFreshnessPolicy.isStale(timestampMilliseconds: timestamp, now: now))
}
@Test
func oldPacketIsStale() {
let now = Date(timeIntervalSince1970: 1000)
let timestamp = UInt64((now.timeIntervalSince1970 - 901) * 1000)
#expect(BLEPacketFreshnessPolicy.isStale(timestampMilliseconds: timestamp, now: now))
}
@Test
func futurePacketAgeIsZero() {
let now = Date(timeIntervalSince1970: 1000)
let timestamp = UInt64((now.timeIntervalSince1970 + 10) * 1000)
#expect(BLEPacketFreshnessPolicy.ageSeconds(timestampMilliseconds: timestamp, now: now) == 0)
}
}