move calculations to model

This commit is contained in:
Manfred Karrer 2014-08-29 19:00:17 +02:00
parent b91fe8273b
commit d9e625a684
6 changed files with 197 additions and 254 deletions

View file

@ -22,7 +22,6 @@ import io.bitsquare.gui.util.BSFormatter;
import io.bitsquare.locale.Country;
import com.google.bitcoin.core.Coin;
import com.google.bitcoin.core.NetworkParameters;
import com.google.bitcoin.utils.Fiat;
import java.util.Locale;
@ -52,53 +51,6 @@ public class CreateOfferPMTest {
presenter.onViewInitialized();
}
@Test
public void testIsBtcInputValid() {
assertTrue(presenter.isBtcInputValid("1").isValid);
assertTrue(presenter.isBtcInputValid("1,1").isValid);
assertTrue(presenter.isBtcInputValid("1.1").isValid);
assertTrue(presenter.isBtcInputValid(",1").isValid);
assertTrue(presenter.isBtcInputValid(".1").isValid);
assertTrue(presenter.isBtcInputValid("0.12345678").isValid);
assertTrue(presenter.isBtcInputValid(Coin.SATOSHI.toPlainString()).isValid);
assertTrue(presenter.isBtcInputValid(NetworkParameters.MAX_MONEY.toPlainString()).isValid);
assertFalse(presenter.isBtcInputValid(null).isValid);
assertFalse(presenter.isBtcInputValid("").isValid);
assertFalse(presenter.isBtcInputValid("0").isValid);
assertFalse(presenter.isBtcInputValid("0.0").isValid);
assertFalse(presenter.isBtcInputValid("0,1,1").isValid);
assertFalse(presenter.isBtcInputValid("0.1.1").isValid);
assertFalse(presenter.isBtcInputValid("1,000.1").isValid);
assertFalse(presenter.isBtcInputValid("1.000,1").isValid);
assertFalse(presenter.isBtcInputValid("0.123456789").isValid);
assertFalse(presenter.isBtcInputValid("-1").isValid);
assertFalse(presenter.isBtcInputValid(String.valueOf(NetworkParameters.MAX_MONEY.longValue() + Coin.SATOSHI
.longValue())).isValid);
}
@Test
public void testIsFiatInputValid() {
assertTrue(presenter.isFiatInputValid("1").isValid);
assertTrue(presenter.isFiatInputValid("1,1").isValid);
assertTrue(presenter.isFiatInputValid("1.1").isValid);
assertTrue(presenter.isFiatInputValid(",1").isValid);
assertTrue(presenter.isFiatInputValid(".1").isValid);
assertTrue(presenter.isFiatInputValid("0.01").isValid);
assertTrue(presenter.isFiatInputValid("1000000.00").isValid);
assertFalse(presenter.isFiatInputValid(null).isValid);
assertFalse(presenter.isFiatInputValid("").isValid);
assertFalse(presenter.isFiatInputValid("0").isValid);
assertFalse(presenter.isFiatInputValid("-1").isValid);
assertFalse(presenter.isFiatInputValid("0.0").isValid);
assertFalse(presenter.isFiatInputValid("0,1,1").isValid);
assertFalse(presenter.isFiatInputValid("0.1.1").isValid);
assertFalse(presenter.isFiatInputValid("1,000.1").isValid);
assertFalse(presenter.isFiatInputValid("1.000,1").isValid);
assertFalse(presenter.isFiatInputValid("0.009").isValid);
assertFalse(presenter.isFiatInputValid("1000000.01").isValid);
}
@Test
public void testBindings() {

View file

@ -18,7 +18,6 @@
package io.bitsquare.gui.util;
import io.bitsquare.gui.util.validation.BtcValidator;
import io.bitsquare.gui.util.validation.NumberValidator;
import com.google.bitcoin.core.Coin;
import com.google.bitcoin.core.NetworkParameters;
@ -29,25 +28,30 @@ import static org.junit.Assert.*;
public class BtcValidatorTest {
@Test
public void testValidate() {
public void testIsValid() {
BtcValidator validator = new BtcValidator();
NumberValidator.ValidationResult validationResult;
// invalid cases
validationResult = validator.validate("0.000000011");// minBtc is "0.00000001"
assertFalse(validationResult.isValid);
assertTrue(validator.validate("1").isValid);
assertTrue(validator.validate("1,1").isValid);
assertTrue(validator.validate("1.1").isValid);
assertTrue(validator.validate(",1").isValid);
assertTrue(validator.validate(".1").isValid);
assertTrue(validator.validate("0.12345678").isValid);
assertTrue(validator.validate(Coin.SATOSHI.toPlainString()).isValid);
assertTrue(validator.validate(NetworkParameters.MAX_MONEY.toPlainString()).isValid);
validationResult = validator.validate("21000001"); //maxBtc is "21000000"
assertFalse(validationResult.isValid);
// valid cases
String minBtc = Coin.SATOSHI.toPlainString(); // "0.00000001"
validationResult = validator.validate(minBtc);
assertTrue(validationResult.isValid);
String maxBtc = Coin.valueOf(NetworkParameters.MAX_MONEY.longValue()).toPlainString(); //"21000000"
validationResult = validator.validate(maxBtc);
assertTrue(validationResult.isValid);
assertFalse(validator.validate(null).isValid);
assertFalse(validator.validate("").isValid);
assertFalse(validator.validate("0").isValid);
assertFalse(validator.validate("0.0").isValid);
assertFalse(validator.validate("0,1,1").isValid);
assertFalse(validator.validate("0.1.1").isValid);
assertFalse(validator.validate("1,000.1").isValid);
assertFalse(validator.validate("1.000,1").isValid);
assertFalse(validator.validate("0.123456789").isValid);
assertFalse(validator.validate("-1").isValid);
assertFalse(validator.validate(String.valueOf(NetworkParameters.MAX_MONEY.longValue() + Coin.SATOSHI
.longValue())).isValid);
}
}

View file

@ -31,75 +31,35 @@ public class FiatValidatorTest {
NumberValidator.ValidationResult validationResult;
// invalid cases
validationResult = validator.validate(null);
assertFalse(validationResult.isValid);
assertTrue(validator.validate("1").isValid);
assertTrue(validator.validate("1,1").isValid);
assertTrue(validator.validate("1.1").isValid);
assertTrue(validator.validate(",1").isValid);
assertTrue(validator.validate(".1").isValid);
assertTrue(validator.validate("0.01").isValid);
assertTrue(validator.validate("1000000.00").isValid);
assertTrue(validator.validate(String.valueOf(FiatValidator.MIN_FIAT_VALUE)).isValid);
assertTrue(validator.validate(String.valueOf(FiatValidator.MAX_FIAT_VALUE)).isValid);
validationResult = validator.validate("");
assertFalse(validationResult.isValid);
assertFalse(validator.validate(null).isValid);
assertFalse(validator.validate("").isValid);
assertFalse(validator.validate("a").isValid);
assertFalse(validator.validate("2a").isValid);
assertFalse(validator.validate("a2").isValid);
assertFalse(validator.validate("0").isValid);
assertFalse(validator.validate("-1").isValid);
assertFalse(validator.validate("0.0").isValid);
assertFalse(validator.validate("0,1,1").isValid);
assertFalse(validator.validate("0.1.1").isValid);
assertFalse(validator.validate("1,000.1").isValid);
assertFalse(validator.validate("1.000,1").isValid);
assertFalse(validator.validate("0.009").isValid);
assertFalse(validator.validate("1000000.01").isValid);
validationResult = validator.validate("0");
assertFalse(validationResult.isValid);
assertFalse(validator.validate(String.valueOf(FiatValidator.MIN_FIAT_VALUE - 0.0000001)).isValid);
assertFalse(validator.validate(String.valueOf(FiatValidator.MAX_FIAT_VALUE + 0.0000001)).isValid);
assertFalse(validator.validate(String.valueOf(Double.MIN_VALUE)).isValid);
assertFalse(validator.validate(String.valueOf(Double.MAX_VALUE)).isValid);
validationResult = validator.validate("-1");
assertFalse(validationResult.isValid);
validationResult = validator.validate("a");
assertFalse(validationResult.isValid);
validationResult = validator.validate("2a");
assertFalse(validationResult.isValid);
validationResult = validator.validate("a2");
assertFalse(validationResult.isValid);
// at the moment we dont support thousand separators, can be added later
validationResult = validator.validate("1,100.1");
assertFalse(validationResult.isValid);
// at the moment we dont support thousand separators, can be added later
validationResult = validator.validate("1.100,1");
assertFalse(validationResult.isValid);
validationResult = validator.validate("1.100.1");
assertFalse(validationResult.isValid);
validationResult = validator.validate("1,100,1");
assertFalse(validationResult.isValid);
validationResult = validator.validate(String.valueOf(FiatValidator.MIN_FIAT_VALUE - 0.0000001));
assertFalse(validationResult.isValid);
validationResult = validator.validate(String.valueOf(FiatValidator.MAX_FIAT_VALUE + 0.0000001));
assertFalse(validationResult.isValid);
validationResult = validator.validate(String.valueOf(Double.MIN_VALUE));
assertFalse(validationResult.isValid);
validationResult = validator.validate(String.valueOf(Double.MAX_VALUE));
assertFalse(validationResult.isValid);
// valid cases
validationResult = validator.validate("1");
assertTrue(validationResult.isValid);
validationResult = validator.validate("0,1");
assertTrue(validationResult.isValid);
validationResult = validator.validate("0.1");
assertTrue(validationResult.isValid);
validationResult = validator.validate(",1");
assertTrue(validationResult.isValid);
validationResult = validator.validate(".1");
assertTrue(validationResult.isValid);
validationResult = validator.validate(String.valueOf(FiatValidator.MIN_FIAT_VALUE));
assertTrue(validationResult.isValid);
validationResult = validator.validate(String.valueOf(FiatValidator.MAX_FIAT_VALUE));
assertTrue(validationResult.isValid);
}
}