Skip to content

Commit 406857e

Browse files
committed
Add a test which tests the semantic of isFinished for bit readers
The isFinished property is expected to take into account the amount of bits left.
1 parent 4ea4db0 commit 406857e

2 files changed

Lines changed: 28 additions & 0 deletions

File tree

Tests/BitByteDataTests/LsbBitReaderTests.swift

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -464,4 +464,18 @@ class LsbBitReaderTests: XCTestCase {
464464
XCTAssertEqual(reader.bitsRead, 16)
465465
}
466466

467+
func testIsFinished() {
468+
let reader = LsbBitReader(data: TestHelper.bitData)
469+
_ = reader.bytes(count: 4)
470+
XCTAssertFalse(reader.isFinished)
471+
_ = reader.bytes(count: 5)
472+
XCTAssertFalse(reader.isFinished)
473+
_ = reader.bits(count: 5)
474+
XCTAssertFalse(reader.isFinished)
475+
XCTAssertTrue(reader.bitsLeft > 0)
476+
_ = reader.bits(count: 3)
477+
XCTAssertTrue(reader.isFinished)
478+
XCTAssertTrue(reader.bitsLeft == 0)
479+
}
480+
467481
}

Tests/BitByteDataTests/MsbBitReaderTests.swift

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -464,4 +464,18 @@ class MsbBitReaderTests: XCTestCase {
464464
XCTAssertEqual(reader.bitsRead, 16)
465465
}
466466

467+
func testIsFinished() {
468+
let reader = MsbBitReader(data: TestHelper.bitData)
469+
_ = reader.bytes(count: 4)
470+
XCTAssertFalse(reader.isFinished)
471+
_ = reader.bytes(count: 5)
472+
XCTAssertFalse(reader.isFinished)
473+
_ = reader.bits(count: 5)
474+
XCTAssertFalse(reader.isFinished)
475+
XCTAssertTrue(reader.bitsLeft > 0)
476+
_ = reader.bits(count: 3)
477+
XCTAssertTrue(reader.isFinished)
478+
XCTAssertTrue(reader.bitsLeft == 0)
479+
}
480+
467481
}

0 commit comments

Comments
 (0)