@@ -15,56 +15,61 @@ class NumberFormattingUtilTests: LocalTestCase {
1515 func testNumberFormattingUtil( ) throws {
1616 let balance = BigInt ( " -1000000000000000000 " )
1717 print ( " this is print " )
18- let formatted = Utilities . formatToPrecision ( balance, numberDecimals : 18 , formattingDecimals: 4 , decimalSeparator: " , " )
18+ let formatted = Utilities . formatToPrecision ( balance, units : . ether , formattingDecimals: 4 , decimalSeparator: " , " )
1919 XCTAssert ( formatted == " -1 " )
2020 }
2121
2222 func testNumberFormattingUtil2( ) throws {
2323 let balance = BigInt ( " -1000000000000000 " )
24- let formatted = Utilities . formatToPrecision ( balance, numberDecimals : 18 , formattingDecimals: 4 , decimalSeparator: " , " )
24+ let formatted = Utilities . formatToPrecision ( balance, units : . ether , formattingDecimals: 4 , decimalSeparator: " , " )
2525 XCTAssert ( formatted == " -0,0010 " )
2626 }
2727
2828 func testNumberFormattingUtil3( ) throws {
2929 let balance = BigInt ( " -1000000000000 " )
30- let formatted = Utilities . formatToPrecision ( balance, numberDecimals : 18 , formattingDecimals: 4 , decimalSeparator: " , " )
30+ let formatted = Utilities . formatToPrecision ( balance, units : . ether , formattingDecimals: 4 , decimalSeparator: " , " )
3131 XCTAssert ( formatted == " -0,0000 " )
3232 }
3333
3434 func testNumberFormattingUtil4( ) throws {
3535 let balance = BigInt ( " -1000000000000 " )
36- let formatted = Utilities . formatToPrecision ( balance, numberDecimals : 18 , formattingDecimals: 9 , decimalSeparator: " , " )
36+ let formatted = Utilities . formatToPrecision ( balance, units : . ether , formattingDecimals: 9 , decimalSeparator: " , " )
3737 XCTAssert ( formatted == " -0,000001000 " )
3838 }
3939
4040 func testNumberFormattingUtil5( ) throws {
4141 let balance = BigInt ( " -1 " )
42- let formatted = Utilities . formatToPrecision ( balance, numberDecimals : 18 , formattingDecimals: 9 , decimalSeparator: " , " , fallbackToScientific: true )
42+ let formatted = Utilities . formatToPrecision ( balance, units : . ether , formattingDecimals: 9 , decimalSeparator: " , " , fallbackToScientific: true )
4343 XCTAssert ( formatted == " -1e-18 " )
4444 }
4545
4646 func testNumberFormattingUtil6( ) throws {
4747 let balance = BigInt ( " 0 " )
48- let formatted = Utilities . formatToPrecision ( balance, numberDecimals : 18 , formattingDecimals: 9 , decimalSeparator: " , " )
48+ let formatted = Utilities . formatToPrecision ( balance, units : . ether , formattingDecimals: 9 , decimalSeparator: " , " )
4949 XCTAssert ( formatted == " 0 " )
5050 }
5151
5252 func testNumberFormattingUtil7( ) throws {
5353 let balance = BigInt ( " -1100000000000000000 " )
54- let formatted = Utilities . formatToPrecision ( balance, numberDecimals : 18 , formattingDecimals: 4 , decimalSeparator: " , " )
54+ let formatted = Utilities . formatToPrecision ( balance, units : . ether , formattingDecimals: 4 , decimalSeparator: " , " )
5555 XCTAssert ( formatted == " -1,1000 " )
5656 }
5757
5858 func testNumberFormattingUtil8( ) throws {
5959 let balance = BigInt ( " 100 " )
60- let formatted = Utilities . formatToPrecision ( balance, numberDecimals : 18 , formattingDecimals: 4 , decimalSeparator: " , " , fallbackToScientific: true )
60+ let formatted = Utilities . formatToPrecision ( balance, units : . ether , formattingDecimals: 4 , decimalSeparator: " , " , fallbackToScientific: true )
6161 XCTAssert ( formatted == " 1,00e-16 " )
6262 }
6363
6464 func testNumberFormattingUtil9( ) throws {
6565 let balance = BigInt ( " 1000000 " )
66- let formatted = Utilities . formatToPrecision ( balance, numberDecimals : 18 , formattingDecimals: 4 , decimalSeparator: " , " , fallbackToScientific: true )
66+ let formatted = Utilities . formatToPrecision ( balance, units : . ether , formattingDecimals: 4 , decimalSeparator: " , " , fallbackToScientific: true )
6767 XCTAssert ( formatted == " 1,0000e-12 " )
6868 }
69-
69+
70+ func testFormatPreccissionFallbacksToUnitsDecimals( ) throws {
71+ let bInt = BigInt ( 1_700_000_000_000_000_000 )
72+ let result = Utilities . formatToPrecision ( bInt, units: . ether, formattingDecimals: Utilities . Units. ether. decimals + 1 , decimalSeparator: " , " )
73+ XCTAssertEqual ( result, " 1,700000000000000000 " )
74+ }
7075}
0 commit comments