cb72197f8e
* initial work for supporting non-optimised mp4 * Update AppCoordinator.swift * some refactor and fixed seek for a restructured mp4 * nit * nit * nit * runs swiftlint * improvements * improvements * handles case where we the stream is not seekable for an mp4 file * better check for mp4, seekable and moov atom * nit * fix an issue with seek * some refactoring
76 lines
2.0 KiB
Swift
76 lines
2.0 KiB
Swift
//
|
|
// Copyright © Blockchain Luxembourg S.A. All rights reserved.
|
|
|
|
import XCTest
|
|
@testable import AudioStreaming
|
|
|
|
final class ByteBufferTests: XCTestCase {
|
|
func testWriteAndReadBytes() {
|
|
var buffer = ByteBuffer(size: 10)
|
|
|
|
// Write bytes to the buffer
|
|
let testData = Data([0x01, 0x02, 0x03, 0x04])
|
|
buffer.writeBytes(testData)
|
|
buffer.rewind()
|
|
|
|
// Read the written bytes
|
|
do {
|
|
let readData = try buffer.readBytes(4)
|
|
XCTAssertEqual(readData, testData)
|
|
} catch {
|
|
XCTFail("Error reading bytes: \(error)")
|
|
}
|
|
}
|
|
|
|
func testWriteAndReadInteger() {
|
|
var buffer = ByteBuffer(size: 8)
|
|
|
|
// Write integer to the buffer
|
|
let testInteger: UInt32 = 123_456_789
|
|
buffer.put(testInteger)
|
|
buffer.rewind()
|
|
|
|
// Read the written integer
|
|
do {
|
|
let readInteger: UInt32 = try buffer.getInteger()
|
|
XCTAssertEqual(readInteger, testInteger.bigEndian)
|
|
} catch {
|
|
XCTFail("Error reading integer: \(error)")
|
|
}
|
|
}
|
|
|
|
func testWriteAndReadFloat() {
|
|
var buffer = ByteBuffer(size: 8)
|
|
|
|
// Write float to the buffer
|
|
let testFloat: Float = 123.456
|
|
buffer.put(testFloat)
|
|
buffer.rewind()
|
|
|
|
// Read the written float
|
|
do {
|
|
let readFloat: Float = try buffer.getFloat()
|
|
XCTAssertEqual(readFloat, testFloat, accuracy: 0.001)
|
|
} catch {
|
|
XCTFail("Error reading float: \(error)")
|
|
}
|
|
}
|
|
|
|
func testWriteAndReadDouble() {
|
|
var buffer = ByteBuffer(size: 8)
|
|
|
|
// Write double to the buffer
|
|
let testDouble = 123.456
|
|
buffer.put(testDouble)
|
|
buffer.rewind()
|
|
|
|
// Read the written double
|
|
do {
|
|
let readDouble: Double = try buffer.getDouble()
|
|
XCTAssertEqual(readDouble, testDouble, accuracy: 0.001)
|
|
} catch {
|
|
XCTFail("Error reading double: \(error)")
|
|
}
|
|
}
|
|
}
|