mirror of
https://github.com/permissionlesstech/bitchat.git
synced 2026-07-25 01:25:20 +00:00
* Handle long BLE packets safely * Keep BLE stream aligned after partial drops --------- Co-authored-by: jack <jackjackbits@users.noreply.github.com>
23 lines
771 B
Swift
23 lines
771 B
Swift
import XCTest
|
|
@testable import bitchat
|
|
|
|
final class GCSFilterTests: XCTestCase {
|
|
func testBuildFilterWithDuplicateIdsProducesStableEncoding() {
|
|
let id = Data(repeating: 0xAB, count: 16)
|
|
let ids = Array(repeating: id, count: 64)
|
|
|
|
let params = GCSFilter.buildFilter(ids: ids, maxBytes: 128, targetFpr: 0.01)
|
|
XCTAssertGreaterThanOrEqual(params.m, 1)
|
|
|
|
let decoded = GCSFilter.decodeToSortedSet(p: params.p, m: params.m, data: params.data)
|
|
XCTAssertLessThanOrEqual(decoded.count, 1)
|
|
}
|
|
|
|
func testBucketAvoidsZeroCandidate() {
|
|
let id = Data(repeating: 0x01, count: 16)
|
|
let bucket = GCSFilter.bucket(for: id, modulus: 2)
|
|
XCTAssertNotEqual(bucket, 0)
|
|
XCTAssertLessThan(bucket, 2)
|
|
}
|
|
}
|