Skip to content
This repository has been archived by the owner on May 10, 2024. It is now read-only.

Commit

Permalink
Expand Rewards to three decimal places
Browse files Browse the repository at this point in the history
  • Loading branch information
tmancey committed Jun 16, 2020
1 parent 4616658 commit cb56d04
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 37 deletions.
4 changes: 2 additions & 2 deletions BraveRewardsUI/BATValue.swift
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public struct BATValue: DisplayableOption {
value = doubleValue
}

public init?(probi probiValue: String, precision: Int16 = 1) {
public init?(probi probiValue: String, precision: Int16 = 3) {
let decimalNumber = NSDecimalNumber(string: probiValue)

if decimalNumber == NSDecimalNumber.notANumber { return nil }
Expand All @@ -38,7 +38,7 @@ public struct BATValue: DisplayableOption {
}

public var displayString: String {
return String(format: "%.1f", value)
return String(format: "%.3f", value)
}

var probiValue: String {
Expand Down
70 changes: 35 additions & 35 deletions BraveRewardsUITests/BATValueTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ import XCTest
class BATValueTests: XCTestCase {

func testStringInitializer() {
XCTAssertEqual(BATValue("0")?.displayString, "0.0")
XCTAssertEqual(BATValue("1.0")?.displayString, "1.0")
XCTAssertEqual(BATValue("20.99")?.displayString, "21.0")
XCTAssertEqual(BATValue("-10.0")?.displayString, "-10.0")
XCTAssertEqual(BATValue("-10")?.displayString, "-10.0")
XCTAssertEqual(BATValue("-200")?.displayString, "-200.0")
XCTAssertEqual(BATValue("0")?.displayString, "0.000")
XCTAssertEqual(BATValue("1.0")?.displayString, "1.000")
XCTAssertEqual(BATValue("20.9999")?.displayString, "21.000")
XCTAssertEqual(BATValue("-10.0")?.displayString, "-10.000")
XCTAssertEqual(BATValue("-10")?.displayString, "-10.000")
XCTAssertEqual(BATValue("-200")?.displayString, "-200.000")

// Not numbers
XCTAssertNil(BATValue("wrong_format"))
Expand All @@ -28,10 +28,10 @@ class BATValueTests: XCTestCase {
XCTAssertEqual(BATValue(probi: tooShort)?.doubleValue, 0.0)

let roundDown = "0999999999999999999"
XCTAssertEqual(BATValue(probi: roundDown)?.doubleValue, 0.9)
XCTAssertEqual(BATValue(probi: roundDown)?.doubleValue, 0.999)

let regularConvert = "1559999999999999990"
XCTAssertEqual(BATValue(probi: regularConvert)?.doubleValue, 1.5)
XCTAssertEqual(BATValue(probi: regularConvert)?.doubleValue, 1.559)

let doublePrecision = "1559999999999999990"
XCTAssertEqual(BATValue(probi: doublePrecision, precision: 2)?.doubleValue, 1.55)
Expand All @@ -42,56 +42,56 @@ class BATValueTests: XCTestCase {

func testProbiValue() {
let tooShort = "9"
XCTAssertEqual(BATValue(probi: tooShort)?.displayString, "0.0")
XCTAssertEqual(BATValue(probi: tooShort)?.displayString, "0.000")

let roundDown = "0999999999999999999"
XCTAssertEqual(BATValue(probi: roundDown)?.displayString, "0.9")
XCTAssertEqual(BATValue(probi: roundDown)?.displayString, "0.999")

let regularConvert = "1559999999999999990"
XCTAssertEqual(BATValue(probi: regularConvert)?.displayString, "1.5")
XCTAssertEqual(BATValue(probi: regularConvert)?.displayString, "1.559")

let doublePrecision = "1559999999999999990"
XCTAssertEqual(BATValue(probi: doublePrecision, precision: 2)?.displayString, "1.6")
XCTAssertEqual(BATValue(probi: doublePrecision, precision: 3)?.displayString, "1.559")

let big = "150000000000000000000000000"
XCTAssertEqual(BATValue(probi: big)?.displayString, "150000000.0")
XCTAssertEqual(BATValue(probi: big)?.displayString, "150000000.000")
}

func testDisplayString() {

XCTAssertEqual(BATValue(10.1).displayString, "10.1")
XCTAssertEqual(BATValue(1).displayString, "1.0")
XCTAssertEqual(BATValue(22).displayString, "22.0")
XCTAssertEqual(BATValue(10.1).displayString, "10.100")
XCTAssertEqual(BATValue(1).displayString, "1.000")
XCTAssertEqual(BATValue(22).displayString, "22.000")

// Rounding
XCTAssertEqual(BATValue(10.1123123).displayString, "10.1")
XCTAssertEqual(BATValue(10.142).displayString, "10.1")
XCTAssertEqual(BATValue(10.111123123).displayString, "10.111")
XCTAssertEqual(BATValue(10.14234).displayString, "10.142")

XCTAssertEqual(BATValue(10.192).displayString, "10.2")
XCTAssertEqual(BATValue(10.152).displayString, "10.2")
XCTAssertEqual(BATValue(10.991).displayString, "11.0")
XCTAssertEqual(BATValue(10.1929).displayString, "10.193")
XCTAssertEqual(BATValue(10.1529).displayString, "10.153")
XCTAssertEqual(BATValue(10.9999).displayString, "11.000")

// Zero
XCTAssertEqual(BATValue(0.0).displayString, "0.0")
XCTAssertEqual(BATValue(0).displayString, "0.0")
XCTAssertEqual(BATValue(0.1).displayString, "0.1")
XCTAssertEqual(BATValue(0.97).displayString, "1.0")
XCTAssertEqual(BATValue(0.0).displayString, "0.000")
XCTAssertEqual(BATValue(0).displayString, "0.000")
XCTAssertEqual(BATValue(0.1).displayString, "0.100")
XCTAssertEqual(BATValue(0.9999).displayString, "1.000")

XCTAssertEqual(BATValue(1.99999999999999999).displayString, "2.0")
XCTAssertEqual(BATValue(0.00000000000000001).displayString, "0.0")
XCTAssertEqual(BATValue(1.99999999999999999).displayString, "2.000")
XCTAssertEqual(BATValue(0.00000000000000001).displayString, "0.000")

// Negative values
XCTAssertEqual(BATValue(-10.1).displayString, "-10.1")
XCTAssertEqual(BATValue(-1).displayString, "-1.0")
XCTAssertEqual(BATValue(-22).displayString, "-22.0")
XCTAssertEqual(BATValue(-10.1).displayString, "-10.100")
XCTAssertEqual(BATValue(-1).displayString, "-1.000")
XCTAssertEqual(BATValue(-22).displayString, "-22.000")

// Rounding
XCTAssertEqual(BATValue(-10.1123123).displayString, "-10.1")
XCTAssertEqual(BATValue(-10.142).displayString, "-10.1")
XCTAssertEqual(BATValue(-10.1123123).displayString, "-10.112")
XCTAssertEqual(BATValue(-10.1423).displayString, "-10.142")

XCTAssertEqual(BATValue(-10.192).displayString, "-10.2")
XCTAssertEqual(BATValue(-10.152).displayString, "-10.2")
XCTAssertEqual(BATValue(-10.991).displayString, "-11.0")
XCTAssertEqual(BATValue(-10.1929).displayString, "-10.193")
XCTAssertEqual(BATValue(-10.1529).displayString, "-10.153")
XCTAssertEqual(BATValue(-10.99992).displayString, "-11.000")
}

}

0 comments on commit cb56d04

Please sign in to comment.