Skip to content

Commit 123971a

Browse files
committed
Add tests for min/maxRepresentableNumber with bitsCount larger than bit width
1 parent 8d36f84 commit 123971a

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

Tests/BitByteDataTests/SignedNumberRepresentationTests.swift

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ class SignedNumberRepresentationTests: XCTestCase {
1818
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: 15), -16383)
1919
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: 23), -4194303)
2020
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: Int.bitWidth), Int.min)
21+
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: 335), Int.min)
2122
}
2223

2324
func testMinRepresentableNumber_1C() {
@@ -28,6 +29,7 @@ class SignedNumberRepresentationTests: XCTestCase {
2829
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: 15), -16383)
2930
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: 23), -4194303)
3031
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: Int.bitWidth), Int.min)
32+
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: 335), Int.min)
3133
}
3234

3335
func testMinRepresentableNumber_2C() {
@@ -38,6 +40,7 @@ class SignedNumberRepresentationTests: XCTestCase {
3840
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: 15), -16384)
3941
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: 23), -4194304)
4042
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: Int.bitWidth), Int.min)
43+
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: 335), Int.min)
4144
}
4245

4346
func testMinRepresentableNumber_Biased_E3() {
@@ -48,6 +51,7 @@ class SignedNumberRepresentationTests: XCTestCase {
4851
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: 15), -3)
4952
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: 23), -3)
5053
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: Int.bitWidth), -3)
54+
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: 335), -3)
5155
}
5256

5357
func testMinRepresentableNumber_Biased_E127() {
@@ -58,6 +62,7 @@ class SignedNumberRepresentationTests: XCTestCase {
5862
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: 15), -127)
5963
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: 23), -127)
6064
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: Int.bitWidth), -127)
65+
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: 335), -127)
6166
}
6267

6368
func testMinRepresentableNumber_Biased_E1023() {
@@ -68,6 +73,7 @@ class SignedNumberRepresentationTests: XCTestCase {
6873
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: 15), -1023)
6974
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: 23), -1023)
7075
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: Int.bitWidth), -1023)
76+
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: 335), -1023)
7177
}
7278

7379
func testMinRepresentableNumber_RN2() {
@@ -78,6 +84,7 @@ class SignedNumberRepresentationTests: XCTestCase {
7884
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: 15), -10922)
7985
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: 23), -2796202)
8086
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: Int.bitWidth), Int.min)
87+
XCTAssertEqual(repr.minRepresentableNumber(bitsCount: 335), Int.min)
8188
}
8289

8390
// MARK: maxRepresentableNumber
@@ -90,6 +97,7 @@ class SignedNumberRepresentationTests: XCTestCase {
9097
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: 15), 16383)
9198
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: 23), 4194303)
9299
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: Int.bitWidth), Int.max)
100+
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: 335), Int.max)
93101
}
94102

95103
func testMaxRepresentableNumber_1C() {
@@ -100,6 +108,7 @@ class SignedNumberRepresentationTests: XCTestCase {
100108
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: 15), 16383)
101109
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: 23), 4194303)
102110
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: Int.bitWidth), Int.max)
111+
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: 335), Int.max)
103112
}
104113

105114
func testMaxRepresentableNumber_2C() {
@@ -110,6 +119,7 @@ class SignedNumberRepresentationTests: XCTestCase {
110119
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: 15), 16383)
111120
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: 23), 4194303)
112121
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: Int.bitWidth), Int.max)
122+
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: 335), Int.max)
113123
}
114124

115125
func testMaxRepresentableNumber_Biased_E3() {
@@ -120,6 +130,7 @@ class SignedNumberRepresentationTests: XCTestCase {
120130
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: 15), 32764)
121131
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: 23), 8388604)
122132
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: Int.bitWidth), Int.max - 3)
133+
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: 335), Int.max - 3)
123134
}
124135

125136
func testMaxRepresentableNumber_Biased_E127() {
@@ -130,6 +141,7 @@ class SignedNumberRepresentationTests: XCTestCase {
130141
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: 15), 32640)
131142
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: 23), 8388480)
132143
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: Int.bitWidth), Int.max - 127)
144+
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: 335), Int.max - 127)
133145
}
134146

135147
func testMaxRepresentableNumber_Biased_E1023() {
@@ -140,6 +152,7 @@ class SignedNumberRepresentationTests: XCTestCase {
140152
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: 15), 31744)
141153
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: 23), 8387584)
142154
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: Int.bitWidth), Int.max - 1023)
155+
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: 335), Int.max - 1023)
143156
}
144157

145158
func testMaxRepresentableNumber_RN2() {
@@ -150,6 +163,7 @@ class SignedNumberRepresentationTests: XCTestCase {
150163
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: 15), 21845)
151164
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: 23), 5592405)
152165
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: Int.bitWidth), 6148914691236517205)
166+
XCTAssertEqual(repr.maxRepresentableNumber(bitsCount: 335), 6148914691236517205)
153167
}
154168

155169
}

0 commit comments

Comments
 (0)