public void onSendBitcoin(View view) { String to = mToAddressEdit.getText().toString(); String amount = mAmountEdit.getText().toString(); if (TextUtils.isEmpty(to) || TextUtils.isEmpty(amount)) { return; } Address address = Address.fromBase58(Constants.NETWORK_PARAMETERS, to); Coin coin = MonetaryFormat.MBTC.parse(amount); SendRequest sendRequest = SendRequest.to(address, coin); try { Transaction transaction = wallet.sendCoinsOffline(sendRequest); BlockChainService.broadcastTransaction(BitcoinWalletActivity.this, transaction); } catch (InsufficientMoneyException e) { Toast.makeText(this, e.getLocalizedMessage(), Toast.LENGTH_SHORT).show(); e.printStackTrace(); } }
@Test(expected = NumberFormatException.class) public void parseInvalidHugeNumber() throws Exception { NO_CODE.parse("99999999999999999999"); }
@Test(expected = NumberFormatException.class) public void parseInvalidWhitespaceBefore() throws Exception { NO_CODE.parse(" 1"); }
@Test(expected = NumberFormatException.class) public void parseInvalidWhitespaceSign() throws Exception { NO_CODE.parse("- 1"); }
@Test(expected = NumberFormatException.class) public void parseInvalidWhitespaceAfter() throws Exception { NO_CODE.parse("1 "); }
@Test(expected = NumberFormatException.class) public void parseInvalidMultipleDecimalMarks() throws Exception { NO_CODE.parse("1.0.0"); }
@Test(expected = NumberFormatException.class) public void parseInvalidHugeNegativeNumber() throws Exception { NO_CODE.parse("-99999999999999999999"); }
@Test(expected = NumberFormatException.class) public void parseInvalidEmpty() throws Exception { NO_CODE.parse(""); }
@Test(expected = NumberFormatException.class) public void parseInvalidNegativeSign() throws Exception { NO_CODE.negativeSign('@').parse("-1.0"); }
@Test(expected = NumberFormatException.class) public void parseInvalidPositiveSign() throws Exception { NO_CODE.positiveSign('@').parse("+1.0"); }
@Test(expected = NumberFormatException.class) public void parseInvalidDecimalMark() throws Exception { NO_CODE.decimalMark(',').parse("1.0"); }
@Test public void parse() throws Exception { assertEquals(Coin.COIN, NO_CODE.parse("1")); assertEquals(Coin.COIN, NO_CODE.parse("1.")); assertEquals(Coin.COIN, NO_CODE.parse("1.0")); assertEquals(Coin.COIN, NO_CODE.decimalMark(',').parse("1,0")); assertEquals(Coin.COIN, NO_CODE.parse("01.0000000000")); assertEquals(Coin.COIN, NO_CODE.positiveSign('+').parse("+1.0")); assertEquals(Coin.COIN.negate(), NO_CODE.parse("-1")); assertEquals(Coin.COIN.negate(), NO_CODE.parse("-1.0")); assertEquals(Coin.CENT, NO_CODE.parse(".01")); assertEquals(Coin.MILLICOIN, MonetaryFormat.MBTC.parse("1")); assertEquals(Coin.MILLICOIN, MonetaryFormat.MBTC.parse("1.0")); assertEquals(Coin.MILLICOIN, MonetaryFormat.MBTC.parse("01.0000000000")); assertEquals(Coin.MILLICOIN, MonetaryFormat.MBTC.positiveSign('+').parse("+1.0")); assertEquals(Coin.MILLICOIN.negate(), MonetaryFormat.MBTC.parse("-1")); assertEquals(Coin.MILLICOIN.negate(), MonetaryFormat.MBTC.parse("-1.0")); assertEquals(Coin.MICROCOIN, MonetaryFormat.UBTC.parse("1")); assertEquals(Coin.MICROCOIN, MonetaryFormat.UBTC.parse("1.0")); assertEquals(Coin.MICROCOIN, MonetaryFormat.UBTC.parse("01.0000000000")); assertEquals(Coin.MICROCOIN, MonetaryFormat.UBTC.positiveSign('+').parse("+1.0")); assertEquals(Coin.MICROCOIN.negate(), MonetaryFormat.UBTC.parse("-1")); assertEquals(Coin.MICROCOIN.negate(), MonetaryFormat.UBTC.parse("-1.0")); assertEquals(Coin.CENT, NO_CODE.withLocale(new Locale("hi", "IN")).parse(".०१")); // Devanagari }