Files
HaishinKit.swift/SRTHaishinKit/Tests/TS/TSPacketTests.swift
2025-07-13 12:43:53 +09:00

29 lines
1.9 KiB
Swift

import Foundation
import Testing
@testable import SRTHaishinKit
@Suite struct TSPacketTests {
static let dataWithMetadata: Data = .init([71, 64, 17, 16, 0, 66, 240, 37, 0, 1, 193, 0, 0, 0, 1, 255, 0, 1, 252, 128, 20, 72, 18, 1, 6, 70, 70, 109, 112, 101, 103, 9, 83, 101, 114, 118, 105, 99, 101, 48, 49, 167, 121, 160, 3, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255])
@Test func packet() {
let packetWithMetadata = TSPacket(data: TSPacketTests.dataWithMetadata)!
#expect(packetWithMetadata.syncByte == TSPacket.defaultSyncByte)
#expect(packetWithMetadata.pid == 17)
#expect(packetWithMetadata.data == TSPacketTests.dataWithMetadata)
}
@Test func programClockReference() {
let data = Data([0, 1, 66, 68, 126, 0])
let (b, e) = TSProgramClockReference.decode(data)
#expect(data == TSProgramClockReference.encode(b, e))
}
@Test func timestamp() {
#expect(0 == TSTimestamp.decode(Data([49, 0, 1, 0, 1])))
#expect(0 == TSTimestamp.decode(Data([17, 0, 1, 0, 1])))
#expect(Data([49, 0, 1, 0, 1]) == TSTimestamp.encode(0, TSTimestamp.ptsDtsMask))
#expect(Data([17, 0, 1, 0, 1]) == TSTimestamp.encode(0, TSTimestamp.ptsMask))
}
}