import XCTest import Foundation @testable import ForgeOffload final class ChecksumBreadthTests: XCTestCase { // XXH3-64 vectors verified against official xxhsum 0.8.2 (-H3, seed 0). func testXXH3_64Vectors() { XCTAssertEqual(XXH3.hash64(Data()), 0x2D06_800538D394C2) XCTAssertEqual(XXH3.hash64(Data("xxhash".utf8)), 0xAA4C_2B42AE6B13DE) XCTAssertEqual( XXH3.hash64(Data("Nobody inspects the spammish repetition".utf8)), 0x6CB0_0603B5CC47E9) } // XXH3-128 vectors verified against official xxhsum 0.8.2 (-H128). // Canonical hex = high64 then low64. func testXXH3_128Vectors() { let empty = XXH3.hash128(Data()) XCTAssertEqual(empty.hexString, "99aa06d3014798d86001c324468d497f") let xx = XXH3.hash128(Data("xxhash".utf8)) XCTAssertEqual(xx.hexString, "9c8b437c78cac00a376072e24bfdf4d2") } // Streaming XXH3 == one-shot across chunk boundaries. func testXXH3StreamingMatchesOneShot() { var data = Data() var seed: UInt64 = 0xABCDEF for _ in 0..<(2 * 1024 * 1024 / 8) { seed = seed &* 6364136223846793005 &+ 1442695040888963407 withUnsafeBytes(of: seed) { data.append(contentsOf: $0) } } let whole64 = XXH3.hash64(data) let whole128 = XXH3.hash128(data) let s64 = XXH3.Streaming(bits: .h64) let s128 = XXH3.Streaming(bits: .h128) var offset = 0 let chunks = [1, 63, 64, 65, 4096, 999_999] var i = 0 while offset < data.count { let size = min(chunks[i % chunks.count], data.count - offset) let chunk = data.subdata(in: offset.. 34aa973cd4c4daa4f61eeb2bdbad27316534016f var sha = SHA1() let data = Data(text.utf8) var offset = 0 while offset < data.count { let size = min(77_777, data.count - offset) sha.update(data.subdata(in: offset..