81 lines
2.7 KiB
Swift
81 lines
2.7 KiB
Swift
//
|
|
// Copyright Amazon.com Inc. or its affiliates.
|
|
// All Rights Reserved.
|
|
//
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
//
|
|
|
|
import XCTest
|
|
import AmplifyBigInteger
|
|
|
|
final class AmplifyBigIntDecimalTests: XCTestCase {
|
|
|
|
func testConversionDecimal() throws {
|
|
guard let firstInt = AmplifyBigInt("2", radix: 10) else {
|
|
XCTFail("Could not create integer")
|
|
return
|
|
}
|
|
guard let secondInt = AmplifyBigInt("3", radix: 10) else {
|
|
XCTFail("Could not create integer")
|
|
return
|
|
}
|
|
guard let thirdInt = AmplifyBigInt("-23233", radix: 10) else {
|
|
XCTFail("Could not create integer")
|
|
return
|
|
}
|
|
XCTAssertEqual("2", firstInt.asString)
|
|
XCTAssertEqual("3", secondInt.asString)
|
|
XCTAssertEqual("-23233", thirdInt.asString)
|
|
}
|
|
|
|
func testConversionLargeDecimal() throws {
|
|
let largeNumber =
|
|
"23842389473298759348759834759834759834759834759834759834759834759347895734584567" +
|
|
"5467498576498764589674598675409785907860597856097856092362534625"
|
|
guard let largeInt = AmplifyBigInt(largeNumber, radix: 10) else {
|
|
XCTFail("Could not create integer")
|
|
return
|
|
}
|
|
XCTAssertEqual(largeNumber, largeInt.asString)
|
|
}
|
|
|
|
func testConversionLargeNegativeDecimal() throws {
|
|
let largeNumber =
|
|
"-23842389473298759348759834759834759834759834759834759834759834759347895734584567" +
|
|
"5467498576498764589674598675409785907860597856097856092362534625"
|
|
guard let largeInt = AmplifyBigInt(largeNumber, radix: 10) else {
|
|
XCTFail("Could not create integer")
|
|
return
|
|
}
|
|
XCTAssertEqual(largeNumber, largeInt.asString)
|
|
}
|
|
|
|
func testConversionLargeNegativeDecimal_2() throws {
|
|
let largeNumber =
|
|
"-23842389473298759348759834759834759834759834759834759834759834759347895734584567" +
|
|
"034850934850943856094865965967586785785785765987659786598569785689756978655867856" +
|
|
"5467498576498764589674598675409785907860597856097856092362534625"
|
|
guard let largeInt = AmplifyBigInt(largeNumber, radix: 10) else {
|
|
XCTFail("Could not create integer")
|
|
return
|
|
}
|
|
XCTAssertEqual(largeNumber, largeInt.asString)
|
|
}
|
|
|
|
func testAddition() {
|
|
let number1 = AmplifyBigInt(23)
|
|
let number2 = AmplifyBigInt(67)
|
|
|
|
let result = number1 + number2
|
|
XCTAssertEqual(result.asString, "90")
|
|
}
|
|
|
|
func testSubstraction() {
|
|
let number1 = AmplifyBigInt(23)
|
|
let number2 = AmplifyBigInt(67)
|
|
|
|
let result = number1 - number2
|
|
XCTAssertEqual(result.asString, "-44")
|
|
}
|
|
}
|