Files
AV-Live/shared/AVLiveWire/Tests/AVLiveWireTests/TopologyPayloadTests.swift
T
2026-06-30 21:49:37 +02:00

33 lines
1016 B
Swift

import XCTest
@testable import AVLiveWire
final class TopologyPayloadTests: XCTestCase {
func testFrameTagTopology() {
XCTAssertEqual(FrameTag.topology.rawValue, 7)
}
func testRoundTrip() {
let names = ["root_joint", "hips_joint", "left_arm_joint"]
let parents: [Int16] = [-1, 0, 1]
let p = TopologyPayload(jointNames: names, parents: parents)
let r = TopologyPayload(decoding: p.encoded())
XCTAssertNotNil(r)
XCTAssertEqual(r!.jointNames, names)
XCTAssertEqual(r!.parents, parents)
}
func testRejectsTruncated() {
// Claims 3 joints but provides no body.
let bytes: [UInt8] = [0x00, 0x03]
XCTAssertNil(TopologyPayload(decoding: Data(bytes)))
}
func testEmpty() {
let p = TopologyPayload(jointNames: [], parents: [])
let r = TopologyPayload(decoding: p.encoded())
XCTAssertNotNil(r)
XCTAssertEqual(r!.jointNames, [])
XCTAssertEqual(r!.parents, [])
}
}