Skip to content

Commit f5c8dc0

Browse files
committed
Add testBit for bit readers
1 parent 2fc5cd7 commit f5c8dc0

3 files changed

Lines changed: 37 additions & 0 deletions

File tree

Sources/BitReader.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ public protocol BitReader: class {
1818

1919
func bit() -> Int
2020

21+
// TODO: Describe, that it doesn't check for the end.
2122
func align()
2223

2324
// TODO: Describe preconditions.

Tests/BitByteDataTests/LsbBitReaderTests.swift

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,24 @@ class LsbBitReaderTests: XCTestCase {
1010

1111
private static let data = Data(bytes: [0x5A, 0xD6])
1212

13+
func testBit() {
14+
let bitReader = LsbBitReader(data: LsbBitReaderTests.data)
15+
16+
XCTAssertEqual(bitReader.bit(), 0)
17+
XCTAssertEqual(bitReader.bit(), 1)
18+
XCTAssertEqual(bitReader.bit(), 0)
19+
XCTAssertEqual(bitReader.bit(), 1)
20+
XCTAssertEqual(bitReader.bit(), 1)
21+
XCTAssertEqual(bitReader.bit(), 0)
22+
XCTAssertEqual(bitReader.bit(), 1)
23+
XCTAssertEqual(bitReader.bit(), 0)
24+
XCTAssertEqual(bitReader.bit(), 0)
25+
XCTAssertEqual(bitReader.bit(), 1)
26+
XCTAssertEqual(bitReader.bit(), 1)
27+
28+
XCTAssertFalse(bitReader.isAligned)
29+
}
30+
1331
func testBits() {
1432
let bitReader = LsbBitReader(data: LsbBitReaderTests.data)
1533

Tests/BitByteDataTests/MsbBitReaderTests.swift

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,24 @@ class MsbBitReaderTests: XCTestCase {
1010

1111
private static let data = Data(bytes: [0x5A, 0xD6])
1212

13+
func testBit() {
14+
let bitReader = MsbBitReader(data: MsbBitReaderTests.data)
15+
16+
XCTAssertEqual(bitReader.bit(), 0)
17+
XCTAssertEqual(bitReader.bit(), 1)
18+
XCTAssertEqual(bitReader.bit(), 0)
19+
XCTAssertEqual(bitReader.bit(), 1)
20+
XCTAssertEqual(bitReader.bit(), 1)
21+
XCTAssertEqual(bitReader.bit(), 0)
22+
XCTAssertEqual(bitReader.bit(), 1)
23+
XCTAssertEqual(bitReader.bit(), 0)
24+
XCTAssertEqual(bitReader.bit(), 1)
25+
XCTAssertEqual(bitReader.bit(), 1)
26+
XCTAssertEqual(bitReader.bit(), 0)
27+
28+
XCTAssertFalse(bitReader.isAligned)
29+
}
30+
1331
func testBits() {
1432
let bitReader = MsbBitReader(data: MsbBitReaderTests.data)
1533

0 commit comments

Comments
 (0)