@@ -11,6 +11,7 @@ class TestDecimal: XCTestCase {
11
11
12
12
static var allTests : [ ( String , ( TestDecimal ) -> ( ) throws -> Void ) ] {
13
13
return [
14
+ ( " test_NSDecimalNumberInit " , test_NSDecimalNumberInit) ,
14
15
( " test_AdditionWithNormalization " , test_AdditionWithNormalization) ,
15
16
( " test_BasicConstruction " , test_BasicConstruction) ,
16
17
( " test_Constants " , test_Constants) ,
@@ -33,6 +34,33 @@ class TestDecimal: XCTestCase {
33
34
]
34
35
}
35
36
37
+ func test_NSDecimalNumberInit( ) {
38
+ XCTAssertEqual ( NSDecimalNumber ( mantissa: 123456789000 , exponent: - 2 , isNegative: true ) , - 1234567890 )
39
+ XCTAssertEqual ( NSDecimalNumber ( decimal: Decimal ( ) ) . decimalValue, Decimal ( 0 ) )
40
+ XCTAssertEqual ( NSDecimalNumber ( decimal: Decimal ( 1 ) ) . intValue, 1 )
41
+ XCTAssertEqual ( NSDecimalNumber ( string: " 1.234 " ) . floatValue, 1.234 )
42
+ XCTAssertTrue ( NSDecimalNumber ( string: " invalid " ) . decimalValue. isNaN)
43
+ XCTAssertEqual ( NSDecimalNumber ( value: true ) . boolValue, true )
44
+ XCTAssertEqual ( NSDecimalNumber ( value: false ) . boolValue, false )
45
+ XCTAssertEqual ( NSDecimalNumber ( value: Int . min) . intValue, Int . min)
46
+ XCTAssertEqual ( NSDecimalNumber ( value: UInt . min) . uintValue, UInt . min)
47
+ XCTAssertEqual ( NSDecimalNumber ( value: Int8 . min) . int8Value, Int8 . min)
48
+ XCTAssertEqual ( NSDecimalNumber ( value: UInt8 . min) . uint8Value, UInt8 . min)
49
+ XCTAssertEqual ( NSDecimalNumber ( value: Int16 . min) . int16Value, Int16 . min)
50
+ XCTAssertEqual ( NSDecimalNumber ( value: UInt16 . min) . uint16Value, UInt16 . min)
51
+ XCTAssertEqual ( NSDecimalNumber ( value: Int32 . min) . int32Value, Int32 . min)
52
+ XCTAssertEqual ( NSDecimalNumber ( value: UInt32 . min) . uint32Value, UInt32 . min)
53
+ XCTAssertEqual ( NSDecimalNumber ( value: Int64 . min) . int64Value, Int64 . min)
54
+ XCTAssertEqual ( NSDecimalNumber ( value: UInt64 . min) . uint64Value, UInt64 . min)
55
+ XCTAssertEqual ( NSDecimalNumber ( value: Float . leastNormalMagnitude) . floatValue, Float . leastNormalMagnitude)
56
+ XCTAssertEqual ( NSDecimalNumber ( value: Float . greatestFiniteMagnitude) . floatValue, Float . greatestFiniteMagnitude)
57
+ XCTAssertEqual ( NSDecimalNumber ( value: Double . pi) . doubleValue, Double . pi)
58
+ XCTAssertEqual ( NSDecimalNumber ( integerLiteral: 0 ) . intValue, 0 )
59
+ XCTAssertEqual ( NSDecimalNumber ( floatLiteral: Double . pi) . doubleValue, Double . pi)
60
+ XCTAssertEqual ( NSDecimalNumber ( booleanLiteral: true ) . boolValue, true )
61
+ XCTAssertEqual ( NSDecimalNumber ( booleanLiteral: false ) . boolValue, false )
62
+ }
63
+
36
64
func test_AdditionWithNormalization( ) {
37
65
38
66
let biggie = Decimal ( 65536 )
0 commit comments