Skip to content

Commit ba78f63

Browse files
committed
Update NSNumberBridging test for init(exactly:)
A fix in the behavior of FloatingPoint.init(exactly:) means that the NSNumber bridging tests need to be updated.
1 parent 82b286a commit ba78f63

File tree

1 file changed

+55
-38
lines changed

1 file changed

+55
-38
lines changed

TestFoundation/TestNSNumberBridging.swift

Lines changed: 55 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,13 @@ class TestNSNumberBridging : XCTestCase {
9898
XCTAssertEqual(Int(exactly: interestingValue), int)
9999
let uint = UInt(exactly: number!)
100100
XCTAssertEqual(UInt(exactly: interestingValue), uint)
101+
101102
let float = Float(exactly: number!)
102-
XCTAssertEqual(Float(interestingValue), float)
103+
let expectedFloat = Float(exactly: interestingValue)
104+
testFloat(expectedFloat, float)
103105
let double = Double(exactly: number!)
104-
XCTAssertEqual(Double(interestingValue), double)
106+
let expectedDouble = Double(exactly: interestingValue)
107+
testDouble(expectedDouble, double)
105108
}
106109
let bridged = interestingValue._bridgeToObjectiveC()
107110
testNumber(bridged)
@@ -134,10 +137,13 @@ class TestNSNumberBridging : XCTestCase {
134137
XCTAssertEqual(Int(exactly: interestingValue), int)
135138
let uint = UInt(exactly: number!)
136139
XCTAssertEqual(UInt(exactly: interestingValue), uint)
140+
137141
let float = Float(exactly: number!)
138-
XCTAssertEqual(Float(interestingValue), float)
142+
let expectedFloat = Float(exactly: interestingValue)
143+
testFloat(expectedFloat, float)
139144
let double = Double(exactly: number!)
140-
XCTAssertEqual(Double(interestingValue), double)
145+
let expectedDouble = Double(exactly: interestingValue)
146+
testDouble(expectedDouble, double)
141147
}
142148
let bridged = interestingValue._bridgeToObjectiveC()
143149
testNumber(bridged)
@@ -170,10 +176,13 @@ class TestNSNumberBridging : XCTestCase {
170176
XCTAssertEqual(Int(exactly: interestingValue), int)
171177
let uint = UInt(exactly: number!)
172178
XCTAssertEqual(UInt(exactly: interestingValue), uint)
179+
173180
let float = Float(exactly: number!)
174-
XCTAssertEqual(Float(interestingValue), float)
181+
let expectedFloat = Float(exactly: interestingValue)
182+
testFloat(expectedFloat, float)
175183
let double = Double(exactly: number!)
176-
XCTAssertEqual(Double(interestingValue), double)
184+
let expectedDouble = Double(exactly: interestingValue)
185+
testDouble(expectedDouble, double)
177186
}
178187
let bridged = interestingValue._bridgeToObjectiveC()
179188
testNumber(bridged)
@@ -206,10 +215,13 @@ class TestNSNumberBridging : XCTestCase {
206215
XCTAssertEqual(Int(exactly: interestingValue), int)
207216
let uint = UInt(exactly: number!)
208217
XCTAssertEqual(UInt(exactly: interestingValue), uint)
218+
209219
let float = Float(exactly: number!)
210-
XCTAssertEqual(Float(interestingValue), float)
220+
let expectedFloat = Float(exactly: interestingValue)
221+
testFloat(expectedFloat, float)
211222
let double = Double(exactly: number!)
212-
XCTAssertEqual(Double(interestingValue), double)
223+
let expectedDouble = Double(exactly: interestingValue)
224+
testDouble(expectedDouble, double)
213225
}
214226
let bridged = interestingValue._bridgeToObjectiveC()
215227
testNumber(bridged)
@@ -242,15 +254,12 @@ class TestNSNumberBridging : XCTestCase {
242254
XCTAssertEqual(Int(exactly: interestingValue), int)
243255
let uint = UInt(exactly: number!)
244256
XCTAssertEqual(UInt(exactly: interestingValue), uint)
257+
245258
let float = Float(exactly: number!)
246-
let expectedFloat = Float(exactly: int32!)
247-
// these are disabled because of https://bugs.swift.org/browse/SR-4634
248-
if (int32! != Int32.min && int32! != Int32.max &&
249-
int32! != Int32.min + 1 && int32! != Int32.max - 1) {
250-
testFloat(expectedFloat, float)
251-
}
259+
let expectedFloat = Float(exactly: interestingValue)
260+
testFloat(expectedFloat, float)
252261
let double = Double(exactly: number!)
253-
let expectedDouble = Double(exactly: int32!)
262+
let expectedDouble = Double(exactly: interestingValue)
254263
testDouble(expectedDouble, double)
255264
}
256265
let bridged = interestingValue._bridgeToObjectiveC()
@@ -284,14 +293,12 @@ class TestNSNumberBridging : XCTestCase {
284293
XCTAssertEqual(Int(exactly: interestingValue), int)
285294
let uint = UInt(exactly: number!)
286295
XCTAssertEqual(UInt(exactly: interestingValue), uint)
296+
287297
let float = Float(exactly: number!)
288-
let expectedFloat = Float(exactly: uint32!)
289-
// these are disabled because of https://bugs.swift.org/browse/SR-4634
290-
if (uint32! != UInt32.max && uint32! != UInt32.max - 1) {
291-
testFloat(expectedFloat, float)
292-
}
298+
let expectedFloat = Float(exactly: interestingValue)
299+
testFloat(expectedFloat, float)
293300
let double = Double(exactly: number!)
294-
let expectedDouble = Double(exactly: uint32!)
301+
let expectedDouble = Double(exactly: interestingValue)
295302
testDouble(expectedDouble, double)
296303
}
297304
let bridged = interestingValue._bridgeToObjectiveC()
@@ -325,10 +332,13 @@ class TestNSNumberBridging : XCTestCase {
325332
XCTAssertEqual(Int(exactly: interestingValue), int)
326333
let uint = UInt(exactly: number!)
327334
XCTAssertEqual(UInt(exactly: interestingValue), uint)
335+
328336
let float = Float(exactly: number!)
329-
XCTAssertEqual(Float(interestingValue), float)
337+
let expectedFloat = Float(exactly: interestingValue)
338+
testFloat(expectedFloat, float)
330339
let double = Double(exactly: number!)
331-
XCTAssertEqual(Double(interestingValue), double)
340+
let expectedDouble = Double(exactly: interestingValue)
341+
testDouble(expectedDouble, double)
332342
}
333343
let bridged = interestingValue._bridgeToObjectiveC()
334344
testNumber(bridged)
@@ -361,10 +371,13 @@ class TestNSNumberBridging : XCTestCase {
361371
XCTAssertEqual(Int(exactly: interestingValue), int)
362372
let uint = UInt(exactly: number!)
363373
XCTAssertEqual(UInt(exactly: interestingValue), uint)
374+
364375
let float = Float(exactly: number!)
365-
XCTAssertEqual(Float(interestingValue), float)
376+
let expectedFloat = Float(exactly: interestingValue)
377+
testFloat(expectedFloat, float)
366378
let double = Double(exactly: number!)
367-
XCTAssertEqual(Double(interestingValue), double)
379+
let expectedDouble = Double(exactly: interestingValue)
380+
testDouble(expectedDouble, double)
368381
}
369382
let bridged = interestingValue._bridgeToObjectiveC()
370383
testNumber(bridged)
@@ -397,10 +410,13 @@ class TestNSNumberBridging : XCTestCase {
397410
XCTAssertEqual(Int(exactly: interestingValue), int)
398411
let uint = UInt(exactly: number!)
399412
XCTAssertEqual(UInt(exactly: interestingValue), uint)
413+
400414
let float = Float(exactly: number!)
401-
XCTAssertEqual(Float(interestingValue), float)
415+
let expectedFloat = Float(exactly: interestingValue)
416+
testFloat(expectedFloat, float)
402417
let double = Double(exactly: number!)
403-
XCTAssertEqual(Double(interestingValue), double)
418+
let expectedDouble = Double(exactly: interestingValue)
419+
testDouble(expectedDouble, double)
404420
}
405421
let bridged = interestingValue._bridgeToObjectiveC()
406422
testNumber(bridged)
@@ -433,10 +449,13 @@ class TestNSNumberBridging : XCTestCase {
433449
XCTAssertEqual(Int(exactly: interestingValue), int)
434450
let uint = UInt(exactly: number!)
435451
XCTAssertEqual(UInt(exactly: interestingValue), uint)
452+
436453
let float = Float(exactly: number!)
437-
XCTAssertEqual(Float(interestingValue), float)
454+
let expectedFloat = Float(exactly: interestingValue)
455+
testFloat(expectedFloat, float)
438456
let double = Double(exactly: number!)
439-
XCTAssertEqual(Double(interestingValue), double)
457+
let expectedDouble = Double(exactly: interestingValue)
458+
testDouble(expectedDouble, double)
440459
}
441460
let bridged = interestingValue._bridgeToObjectiveC()
442461
testNumber(bridged)
@@ -470,12 +489,11 @@ class TestNSNumberBridging : XCTestCase {
470489
let uint = UInt(exactly: number!)
471490
XCTAssertEqual(UInt(exactly: interestingValue), uint)
472491

473-
let float = Float(truncating: number!)
474-
let expectedFloat = interestingValue
492+
let float = Float(exactly: number!)
493+
let expectedFloat = Float(exactly: interestingValue)
475494
testFloat(expectedFloat, float)
476-
477-
let double = Double(truncating: number!)
478-
let expectedDouble = Double(reasonably: interestingValue)
495+
let double = Double(exactly: number!)
496+
let expectedDouble = Double(exactly: interestingValue)
479497
testDouble(expectedDouble, double)
480498
}
481499
let bridged = interestingValue._bridgeToObjectiveC()
@@ -510,12 +528,11 @@ class TestNSNumberBridging : XCTestCase {
510528
let uint = UInt(exactly: number!)
511529
XCTAssertEqual(UInt(exactly: interestingValue), uint)
512530

513-
let float = Float(truncating: number!)
514-
let expectedFloat = Float(reasonably: interestingValue)
531+
let float = Float(exactly: number!)
532+
let expectedFloat = Float(exactly: interestingValue)
515533
testFloat(expectedFloat, float)
516-
517534
let double = Double(exactly: number!)
518-
let expectedDouble = interestingValue
535+
let expectedDouble = Double(exactly: interestingValue)
519536
testDouble(expectedDouble, double)
520537
}
521538
let bridged = interestingValue._bridgeToObjectiveC()

0 commit comments

Comments
 (0)