Skip to content

Commit 24d8f51

Browse files
committed
Add tests for remainder(dividingBy: -1).
1 parent 3eaa0b3 commit 24d8f51

File tree

2 files changed

+14
-5
lines changed

2 files changed

+14
-5
lines changed

Tests/IntegerUtilitiesTests/DivideTests.swift

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,4 +343,12 @@ final class IntegerUtilitiesDivideTests: XCTestCase {
343343
}
344344
XCTAssertLessThanOrEqual(fails, 32*16)
345345
}
346+
347+
func testRemainderByMinusOne() {
348+
// These would trap if implemented as a - bq or similar, even though
349+
// the remainder is well-defined.
350+
XCTAssertEqual(0, Int.min.remainder(dividingBy: -1))
351+
XCTAssertEqual(0, Int.min.remainder(dividingBy: -1, rounding: .up))
352+
XCTAssertEqual(0, Int.min.remainder(dividingBy: -1, rounding: .stochastically))
353+
}
346354
}

Tests/WindowsMain.swift

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,12 @@ extension PropertyTests {
8585

8686
extension IntegerUtilitiesDivideTests {
8787
static var all = testCase([
88-
("testDivideInt8", IntegerUtilitiesDivideTests.testDivideInt8()),
89-
("testDivideInt", IntegerUtilitiesDivideTests.testDivideInt()),
90-
("testDivideUInt8", IntegerUtilitiesDivideTests.testDivideUInt8()),
91-
("testDivideStochasticInt8", IntegerUtilitiesDivideTests.testDivideStochasticInt8()),
92-
("testDivideStochasticUInt32", IntegerUtilitiesDivideTests.testDivideStochasticUInt32()),
88+
("testDivideInt8", IntegerUtilitiesDivideTests.testDivideInt8),
89+
("testDivideInt", IntegerUtilitiesDivideTests.testDivideInt),
90+
("testDivideUInt8", IntegerUtilitiesDivideTests.testDivideUInt8),
91+
("testDivideStochasticInt8", IntegerUtilitiesDivideTests.testDivideStochasticInt8),
92+
("testDivideStochasticUInt32", IntegerUtilitiesDivideTests.testDivideStochasticUInt32),
93+
("testRemainderByMinusOne", IntegerUtilitiesDivideTests.testRemainderByMinusOne),
9394
])
9495
}
9596

0 commit comments

Comments
 (0)