amplify-swift/AmplifyPlugins/Auth/Tests/AmplifyBigIntegerUnitTests/AmplifyBigIntDecimalTests.s...

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")
}
}