secant-ios-wallet/secantTests/ZatoshiStringRepresentation/ZatoshiStringRepresentation...

206 lines
9.3 KiB
Swift

//
// ZatoshiStringRepresentationCommaTests.swift
// secantTests
//
// Created by Lukáš Korba on 2024-02-12.
//
import XCTest
import ZcashLightClientKit
import BalanceFormatter
@testable import secant_testnet
final class ZatoshiStringRepresentationCommaTests: XCTestCase {
override func setUp() {
super.setUp()
let zashiBalanceFormatter = NumberFormatter.zashiBalanceFormatter
zashiBalanceFormatter.locale = Locale(identifier: "cs_CZ")
let zashiNumberFormatter = NumberFormatter.zcashNumberFormatter8FractionDigits
zashiNumberFormatter.locale = Locale(identifier: "cs_CZ")
}
// MARK: - Fee Format
func testFeeFormat() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(0))
XCTAssertEqual(zatoshiStringRepresentation.feeFormat, "Typical Fee < 0,001")
}
// MARK: - Prefix None
func testPrefixNone_Abbreviated_ZeroZatoshi() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(0))
XCTAssertEqual(zatoshiStringRepresentation.mostSignificantDigits, "0,000")
XCTAssertEqual(zatoshiStringRepresentation.leastSignificantDigits, "")
}
func testPrefixNone_Abbreviated_LessThan100kZatoshi() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(99_000))
XCTAssertEqual(zatoshiStringRepresentation.mostSignificantDigits, "0,000...")
XCTAssertEqual(zatoshiStringRepresentation.leastSignificantDigits, "")
}
func testPrefixNone_Abbreviated_100kZatoshi() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(100_000))
XCTAssertEqual(zatoshiStringRepresentation.mostSignificantDigits, "0,001")
XCTAssertEqual(zatoshiStringRepresentation.leastSignificantDigits, "")
}
func testPrefixNone_Abbreviated_MoreThan100kZatoshi() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(25_793_456))
XCTAssertEqual(zatoshiStringRepresentation.mostSignificantDigits, "0,258")
XCTAssertEqual(zatoshiStringRepresentation.leastSignificantDigits, "")
}
func testPrefixNone_Expanded_ZeroZatoshi() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(0), format: .expanded)
XCTAssertEqual(zatoshiStringRepresentation.mostSignificantDigits, "0,000")
XCTAssertEqual(zatoshiStringRepresentation.leastSignificantDigits, "")
}
func testPrefixNone_Expanded_LessThan100kZatoshi() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(99_000), format: .expanded)
XCTAssertEqual(zatoshiStringRepresentation.mostSignificantDigits, "0,000")
XCTAssertEqual(zatoshiStringRepresentation.leastSignificantDigits, "99")
}
func testPrefixNone_Expanded_100kZatoshi() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(100_000), format: .expanded)
XCTAssertEqual(zatoshiStringRepresentation.mostSignificantDigits, "0,001")
XCTAssertEqual(zatoshiStringRepresentation.leastSignificantDigits, "")
}
func testPrefixNone_Expanded_MoreThan100kZatoshi() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(25_793_456), format: .expanded)
XCTAssertEqual(zatoshiStringRepresentation.mostSignificantDigits, "0,257")
XCTAssertEqual(zatoshiStringRepresentation.leastSignificantDigits, "93456")
}
// MARK: - Prefix Plus
func testPrefixPlus_Abbreviated_ZeroZatoshi() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(0), prefixSymbol: .plus)
XCTAssertEqual(zatoshiStringRepresentation.mostSignificantDigits, "+0,000")
XCTAssertEqual(zatoshiStringRepresentation.leastSignificantDigits, "")
}
func testPrefixPlus_Abbreviated_LessThan100kZatoshi() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(99_000), prefixSymbol: .plus)
XCTAssertEqual(zatoshiStringRepresentation.mostSignificantDigits, "+0,000...")
XCTAssertEqual(zatoshiStringRepresentation.leastSignificantDigits, "")
}
func testPrefixPlus_Abbreviated_100kZatoshi() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(100_000), prefixSymbol: .plus)
XCTAssertEqual(zatoshiStringRepresentation.mostSignificantDigits, "+0,001")
XCTAssertEqual(zatoshiStringRepresentation.leastSignificantDigits, "")
}
func testPrefixPlus_Abbreviated_MoreThan100kZatoshi() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(25_793_456), prefixSymbol: .plus)
XCTAssertEqual(zatoshiStringRepresentation.mostSignificantDigits, "+0,258")
XCTAssertEqual(zatoshiStringRepresentation.leastSignificantDigits, "")
}
func testPrefixPlus_Expanded_ZeroZatoshi() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(0), prefixSymbol: .plus, format: .expanded)
XCTAssertEqual(zatoshiStringRepresentation.mostSignificantDigits, "+0,000")
XCTAssertEqual(zatoshiStringRepresentation.leastSignificantDigits, "")
}
func testPrefixPlus_Expanded_LessThan100kZatoshi() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(99_000), prefixSymbol: .plus, format: .expanded)
XCTAssertEqual(zatoshiStringRepresentation.mostSignificantDigits, "+0,000")
XCTAssertEqual(zatoshiStringRepresentation.leastSignificantDigits, "99")
}
func testPrefixPlus_Expanded_100kZatoshi() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(100_000), prefixSymbol: .plus, format: .expanded)
XCTAssertEqual(zatoshiStringRepresentation.mostSignificantDigits, "+0,001")
XCTAssertEqual(zatoshiStringRepresentation.leastSignificantDigits, "")
}
func testPrefixPlus_Expanded_MoreThan100kZatoshi() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(25_793_456), prefixSymbol: .plus, format: .expanded)
XCTAssertEqual(zatoshiStringRepresentation.mostSignificantDigits, "+0,257")
XCTAssertEqual(zatoshiStringRepresentation.leastSignificantDigits, "93456")
}
// MARK: - Prefix Minus
func testPrefixMinus_Abbreviated_ZeroZatoshi() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(0), prefixSymbol: .minus)
XCTAssertEqual(zatoshiStringRepresentation.mostSignificantDigits, "-0,000")
XCTAssertEqual(zatoshiStringRepresentation.leastSignificantDigits, "")
}
func testPrefixMinus_Abbreviated_LessThan100kZatoshi() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(99_000), prefixSymbol: .minus)
XCTAssertEqual(zatoshiStringRepresentation.mostSignificantDigits, "-0,000...")
XCTAssertEqual(zatoshiStringRepresentation.leastSignificantDigits, "")
}
func testPrefixMinus_Abbreviated_100kZatoshi() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(100_000), prefixSymbol: .minus)
XCTAssertEqual(zatoshiStringRepresentation.mostSignificantDigits, "-0,001")
XCTAssertEqual(zatoshiStringRepresentation.leastSignificantDigits, "")
}
func testPrefixMinus_Abbreviated_MoreThan100kZatoshi() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(25_793_456), prefixSymbol: .minus)
XCTAssertEqual(zatoshiStringRepresentation.mostSignificantDigits, "-0,258")
XCTAssertEqual(zatoshiStringRepresentation.leastSignificantDigits, "")
}
func testPrefixMinus_Expanded_ZeroZatoshi() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(0), prefixSymbol: .minus, format: .expanded)
XCTAssertEqual(zatoshiStringRepresentation.mostSignificantDigits, "-0,000")
XCTAssertEqual(zatoshiStringRepresentation.leastSignificantDigits, "")
}
func testPrefixMinus_Expanded_LessThan100kZatoshi() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(99_000), prefixSymbol: .minus, format: .expanded)
XCTAssertEqual(zatoshiStringRepresentation.mostSignificantDigits, "-0,000")
XCTAssertEqual(zatoshiStringRepresentation.leastSignificantDigits, "99")
}
func testPrefixMinus_Expanded_100kZatoshi() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(100_000), prefixSymbol: .minus, format: .expanded)
XCTAssertEqual(zatoshiStringRepresentation.mostSignificantDigits, "-0,001")
XCTAssertEqual(zatoshiStringRepresentation.leastSignificantDigits, "")
}
func testPrefixMinus_Expanded_MoreThan100kZatoshi() throws {
let zatoshiStringRepresentation = ZatoshiStringRepresentation(Zatoshi(25_793_456), prefixSymbol: .minus, format: .expanded)
XCTAssertEqual(zatoshiStringRepresentation.mostSignificantDigits, "-0,257")
XCTAssertEqual(zatoshiStringRepresentation.leastSignificantDigits, "93456")
}
}