mirror of
https://github.com/permissionlesstech/bitchat.git
synced 2026-07-26 02:05:19 +00:00
Extract BLE and chat architecture policies (#1324)
Co-authored-by: jack <jackjackbits@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
import Testing
|
||||
@testable import bitchat
|
||||
|
||||
struct BLEScanDutyPolicyTests {
|
||||
@Test
|
||||
func continuousScanWhenDutyIsDisabledInactiveDisconnectedOrTrafficIsRecent() {
|
||||
#expect(BLEScanDutyPolicy.plan(
|
||||
dutyEnabled: false,
|
||||
appIsActive: true,
|
||||
connectedCount: 4,
|
||||
hasRecentTraffic: false
|
||||
) == .continuous)
|
||||
|
||||
#expect(BLEScanDutyPolicy.plan(
|
||||
dutyEnabled: true,
|
||||
appIsActive: false,
|
||||
connectedCount: 4,
|
||||
hasRecentTraffic: false
|
||||
) == .continuous)
|
||||
|
||||
#expect(BLEScanDutyPolicy.plan(
|
||||
dutyEnabled: true,
|
||||
appIsActive: true,
|
||||
connectedCount: 0,
|
||||
hasRecentTraffic: false
|
||||
) == .continuous)
|
||||
|
||||
#expect(BLEScanDutyPolicy.plan(
|
||||
dutyEnabled: true,
|
||||
appIsActive: true,
|
||||
connectedCount: 4,
|
||||
hasRecentTraffic: true
|
||||
) == .continuous)
|
||||
}
|
||||
|
||||
@Test
|
||||
func continuousScanForSmallMeshes() {
|
||||
#expect(BLEScanDutyPolicy.plan(
|
||||
dutyEnabled: true,
|
||||
appIsActive: true,
|
||||
connectedCount: 2,
|
||||
hasRecentTraffic: false
|
||||
) == .continuous)
|
||||
}
|
||||
|
||||
@Test
|
||||
func dutyCyclesSparseActiveMeshes() {
|
||||
let plan = BLEScanDutyPolicy.plan(
|
||||
dutyEnabled: true,
|
||||
appIsActive: true,
|
||||
connectedCount: 3,
|
||||
hasRecentTraffic: false
|
||||
)
|
||||
|
||||
#expect(plan == .dutyCycle(
|
||||
onDuration: TransportConfig.bleDutyOnDuration,
|
||||
offDuration: TransportConfig.bleDutyOffDuration
|
||||
))
|
||||
}
|
||||
|
||||
@Test
|
||||
func dutyCyclesDenseActiveMeshesWithDenseDurations() {
|
||||
let plan = BLEScanDutyPolicy.plan(
|
||||
dutyEnabled: true,
|
||||
appIsActive: true,
|
||||
connectedCount: TransportConfig.bleHighDegreeThreshold,
|
||||
hasRecentTraffic: false
|
||||
)
|
||||
|
||||
#expect(plan == .dutyCycle(
|
||||
onDuration: TransportConfig.bleDutyOnDurationDense,
|
||||
offDuration: TransportConfig.bleDutyOffDurationDense
|
||||
))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user