Skip to content

Commit 5ce0ddd

Browse files
committed
Add tests for non-zero start index situations
1 parent 82f8eee commit 5ce0ddd

4 files changed

Lines changed: 36 additions & 3 deletions

File tree

Tests/BitByteDataTests/ByteReaderTests.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,4 +48,12 @@ class ByteReaderTests: XCTestCase {
4848
XCTAssertEqual(num, 0x0100)
4949
}
5050

51+
func testNonZeroStartIndex() {
52+
let byteReader = ByteReader(data: ByteReaderTests.data[1...])
53+
XCTAssertEqual(byteReader.uint16(), 0x0201)
54+
XCTAssertEqual(byteReader.uint32(), 0x06050403)
55+
XCTAssertEqual(byteReader.byte(), 0x07)
56+
XCTAssertEqual(byteReader.bytes(count: 1), [0x08])
57+
}
58+
5159
}

Tests/BitByteDataTests/LsbBitReaderTests.swift

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,4 +109,15 @@ class LsbBitReaderTests: XCTestCase {
109109
XCTAssertTrue(bitReader.isFinished)
110110
}
111111

112+
func testBitReaderNonZeroStartIndex() {
113+
var bitReader = LsbBitReader(data: LsbBitReaderTests.data[1...])
114+
XCTAssertEqual(bitReader.byte(), 0xD6)
115+
bitReader = LsbBitReader(data: LsbBitReaderTests.data[1...])
116+
XCTAssertEqual(bitReader.bytes(count: 1), [0xD6])
117+
bitReader = LsbBitReader(data: LsbBitReaderTests.data[1...])
118+
XCTAssertEqual(bitReader.bit(), 0)
119+
XCTAssertEqual(bitReader.bits(count: 3), [1, 1, 0])
120+
XCTAssertEqual(bitReader.int(fromBits: 4), 13)
121+
}
122+
112123
}

Tests/BitByteDataTests/MsbBitReaderTests.swift

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,4 +109,15 @@ class MsbBitReaderTests: XCTestCase {
109109
XCTAssertTrue(bitReader.isFinished)
110110
}
111111

112+
func testBitReaderNonZeroStartIndex() {
113+
var bitReader = MsbBitReader(data: MsbBitReaderTests.data[1...])
114+
XCTAssertEqual(bitReader.byte(), 0xD6)
115+
bitReader = MsbBitReader(data: MsbBitReaderTests.data[1...])
116+
XCTAssertEqual(bitReader.bytes(count: 1), [0xD6])
117+
bitReader = MsbBitReader(data: MsbBitReaderTests.data[1...])
118+
XCTAssertEqual(bitReader.bit(), 1)
119+
XCTAssertEqual(bitReader.bits(count: 3), [1, 0, 1])
120+
XCTAssertEqual(bitReader.int(fromBits: 4), 6)
121+
}
122+
112123
}

Tests/LinuxMain.swift

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ extension ByteReaderTests {
1414
("testBytes", testBytes),
1515
("testUint64", testUint64),
1616
("testUint32", testUint32),
17-
("testUint16", testUint16)
17+
("testUint16", testUint16),
18+
("testNonZeroStartIndex", testNonZeroStartIndex)
1819
]
1920
}
2021
}
@@ -29,7 +30,8 @@ extension LsbBitReaderTests {
2930
("testAlign", testAlign),
3031
("testBitReaderByte", testBitReaderByte),
3132
("testBitReaderBytes", testBitReaderBytes),
32-
("testBitReaderUint16", testBitReaderUint16)
33+
("testBitReaderUint16", testBitReaderUint16),
34+
("testBitReaderNonZeroStartIndex", testBitReaderNonZeroStartIndex)
3335
]
3436
}
3537
}
@@ -44,7 +46,8 @@ extension MsbBitReaderTests {
4446
("testAlign", testAlign),
4547
("testBitReaderByte", testBitReaderByte),
4648
("testBitReaderBytes", testBitReaderBytes),
47-
("testBitReaderUint16", testBitReaderUint16)
49+
("testBitReaderUint16", testBitReaderUint16),
50+
("testBitReaderNonZeroStartIndex", testBitReaderNonZeroStartIndex)
4851
]
4952
}
5053
}

0 commit comments

Comments
 (0)