Rename parseToFiatWith2Decimals to parseToFiatWithPrecision

This commit is contained in:
Manfred Karrer 2016-08-20 10:48:03 +02:00
parent 24fdd796be
commit 36bd412105
3 changed files with 17 additions and 11 deletions

View file

@ -36,6 +36,7 @@ import io.bitsquare.gui.util.validation.BtcValidator;
import io.bitsquare.gui.util.validation.FiatValidator;
import io.bitsquare.gui.util.validation.InputValidator;
import io.bitsquare.locale.BSResources;
import io.bitsquare.locale.CurrencyUtil;
import io.bitsquare.locale.TradeCurrency;
import io.bitsquare.p2p.P2PService;
import io.bitsquare.payment.PaymentAccount;
@ -567,7 +568,7 @@ class CreateOfferViewModel extends ActivatableWithDataModel<CreateOfferDataModel
// must be placed after calculateAmount (btc value has been adjusted in case the calculation leads to
// invalid decimal places for the amount value
showWarningAdjustedVolume.set(!formatter.formatFiat(formatter.parseToFiatWith2Decimals(userInput, dataModel.tradeCurrencyCode.get()))
showWarningAdjustedVolume.set(!formatter.formatFiat(formatter.parseToFiatWithPrecision(userInput, dataModel.tradeCurrencyCode.get()))
.equals(volume
.get()));
}
@ -718,11 +719,11 @@ class CreateOfferViewModel extends ActivatableWithDataModel<CreateOfferDataModel
}
private void setPriceToModel() {
dataModel.priceAsFiat.set(formatter.parseToFiatWith2Decimals(price.get(), dataModel.tradeCurrencyCode.get()));
dataModel.priceAsFiat.set(formatter.parseToFiatWithPrecision(price.get(), dataModel.tradeCurrencyCode.get()));
}
private void setVolumeToModel() {
dataModel.volumeAsFiat.set(formatter.parseToFiatWith2Decimals(volume.get(), dataModel.tradeCurrencyCode.get()));
dataModel.volumeAsFiat.set(formatter.parseToFiatWithPrecision(volume.get(), dataModel.tradeCurrencyCode.get()));
}
private InputValidator.ValidationResult isBtcInputValid(String input) {
@ -730,6 +731,11 @@ class CreateOfferViewModel extends ActivatableWithDataModel<CreateOfferDataModel
}
private InputValidator.ValidationResult isFiatInputValid(String input) {
if (CurrencyUtil.isCryptoCurrency(getTradeCurrency().getCode()))
fiatValidator.setMinValue(FiatValidator.MIN_ALTCOIN_VALUE);
else
fiatValidator.setMinValue(FiatValidator.MIN_FIAT_VALUE);
return fiatValidator.validate(input);
}

View file

@ -240,7 +240,7 @@ public class BSFormatter {
* @return
*/
public Fiat parseToFiatWith2Decimals(String input, String currencyCode) {
public Fiat parseToFiatWithPrecision(String input, String currencyCode) {
if (input != null && input.length() > 0) {
try {
return parseToFiat(new BigDecimal(cleanInput(input)).setScale(2, BigDecimal.ROUND_HALF_UP).toString(), currencyCode);
@ -254,7 +254,7 @@ public class BSFormatter {
}
public boolean hasFiatValidDecimals(String input, String currencyCode) {
return parseToFiat(input, currencyCode).equals(parseToFiatWith2Decimals(input, currencyCode));
return parseToFiat(input, currencyCode).equals(parseToFiatWithPrecision(input, currencyCode));
}

View file

@ -159,12 +159,12 @@ public class BSFormatterTest {
BSFormatter formatter = new BSFormatter();
formatter.useMilliBitFormat(false);
formatter.setLocale(Locale.GERMAN);
assertEquals("0", formatter.parseToFiatWith2Decimals("0", "EUR").toPlainString());
assertEquals("0", formatter.parseToFiatWith2Decimals(null, "EUR").toPlainString());
assertEquals("0", formatter.parseToFiatWith2Decimals("s", "EUR").toPlainString());
assertEquals("0.12", formatter.parseToFiatWith2Decimals("0.123", "EUR").toPlainString());
assertEquals("0.13", formatter.parseToFiatWith2Decimals("0.125", "EUR").toPlainString());
assertEquals("0.13", formatter.parseToFiatWith2Decimals("0,125", "EUR").toPlainString());
assertEquals("0", formatter.parseToFiatWithPrecision("0", "EUR").toPlainString());
assertEquals("0", formatter.parseToFiatWithPrecision(null, "EUR").toPlainString());
assertEquals("0", formatter.parseToFiatWithPrecision("s", "EUR").toPlainString());
assertEquals("0.12", formatter.parseToFiatWithPrecision("0.123", "EUR").toPlainString());
assertEquals("0.13", formatter.parseToFiatWithPrecision("0.125", "EUR").toPlainString());
assertEquals("0.13", formatter.parseToFiatWithPrecision("0,125", "EUR").toPlainString());
}
@Test